[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/String/repeat [Back]  [Original]

String.prototype.repeat() - JavaScript | MDN

Esta pgina ha sido traducida del ingls por la comunidad. Aprende ms y nete a la comunidad de MDN Web Docs.

View in English Always switch to English

String.prototype.repeat()

Baseline Widely available

This feature is well established and works across many devices and browser versions. Its been available across browsers since septiembre de 2015.

El mtodo repeat() construye y devuelve una nueva cadena que contiene el nmero especificado de copias de la cadena en la cual fue llamada, concatenados.

In this article

Sintxis

js
str.repeat(count);

Parmetros

count

Un entero entre 0 y +: [0, +), indicando el nmero de veces a repetir la cadena en la nueva cadenada creada que ser devuelta.

Valor devuelto

Un nuevo string que contiene el nmero especificado de copias del string original.

Excepciones

  • RangeError: El nmero de repeticiones no debe ser negativo.
  • RangeError: El nmero de repeticiones debe ser menor que infinito y no desbordar el tamao mximo para un string.

Ejemplos

js
"abc".repeat(-1); // RangeError
"abc".repeat(0); // ''
"abc".repeat(1); // 'abc'
"abc".repeat(2); // 'abcabc'
"abc".repeat(3.5); // 'abcabcabc' (count will be converted to integer)
"abc".repeat(1 / 0); // RangeError

({ toString: () => "abc", repeat: String.prototype.repeat }).repeat(2);
// 'abcabc' (repeat() is a generic method)

Polyfill

Este mtodo ha sido aadido a la especificacin ECMAScript 6 y tal vez an no se encuentre disponible en todas las implementaciones de JavaScript. Sin embargo, usted puede establecer String.prototype.repeat() con el siguiente fragmento de cdigo:

js
if (!String.prototype.repeat) {
  String.prototype.repeat = function (count) {
    "use strict";
    if (this == null) {
      throw new TypeError("can't convert " + this + " to object");
    }
    var str = "" + this;
    count = +count;
    if (count != count) {
      count = 0;
    }
    if (count < 0) {
      throw new RangeError("repeat count must be non-negative");
    }
    if (count == Infinity) {
      throw new RangeError("repeat count must be less than infinity");
    }
    count = Math.floor(count);
    if (str.length == 0 || count == 0) {
      return "";
    }
    // Ensuring count is a 31-bit integer allows us to heavily optimize the
    // main part. But anyway, most current (August 2014) browsers can't handle
    // strings 1 << 28 chars or longer, so:
    if (str.length * count >= 1 << 28) {
      throw new RangeError(
        "repeat count must not overflow maximum string size",
      );
    }
    var rpt = "";
    for (;;) {
      if ((count & 1) == 1) {
        rpt += str;
      }
      count >>>= 1;
      if (count == 0) {
        break;
      }
      str += str;
    }
    return rpt;
  };
}

Especificaciones

Specification
ECMAScript 2027 LanguageSpecification
# sec-string.prototype.repeat

Compatibilidad con navegadores


Web Proxy Viewer  |  New URL  |  Original Page