--- title: String.prototype.slice() slug: Web/JavaScript/Reference/Global_Objects/String/slice tags: - Cadena - JavaScript - Método(2) - Prototipo - String translation_of: Web/JavaScript/Reference/Global_Objects/String/slice original_slug: Web/JavaScript/Referencia/Objetos_globales/String/slice ---
{{JSRef("Objetos_globales", "String")}}
El método slice() extrae una sección de una cadena y devuelve una cadena nueva.
cadena.slice(inicioTrozo[, finTrozo])
inicioTrozolongCadena + inicioTrozo donde longCadena es la longitud de la cadena (por ejemplo, si inicioTrozo es -3 se trata como longCadena - 3)finTrozoslice extrae hasta el final de la cadena. Si es negativo, se trata como longCadena + finTrozo donde longCadena es la longitud de la cadena (por ejemplo, si finTrozo es -3 se trata como longCadena - 3).Una nueva cadena que contiene la sección de la cadena.
slice extrae el texto de una cadena y devuelve una nueva cadena. Los cambios en el texto de una cadena no afectan a la otra cadena.
slice extrae hasta, pero sin incluir finalTrozo. string.slice(1,4) extrae del segundo carácter hasta el cuarto carácter (caracteres con índice 1, 2 y 3).
Si se usa un índice negativo, finalTrozo indica el punto desde el final de la cadena.string.slice(2, -1) extrae desde tercer carácter hasta el último carácter de la cadena.
slice() para crear una nueva cadenaEl siguiente ejemplo usa slice() para crear una nueva cadena.
var cadena1 = "La mañana se nos echa encima."; var cadena2 = cadena1.slice(3, -2); console.log(cadena2);
Esto escribe:
mañana se nos echa encim
slice() con índices negativosEl siguiente ejemplo usa slice() con índices negativos.
var cad = "La mañana se nos echa encima.";
cad.slice(-3); // retorna 'ma.'
cad.slice(-3, -1); // retorna 'ma'
cad.slice(0, -1); // retorna 'La mañana se nos echa encima'
| Especificación | Estado | Comentario |
|---|---|---|
| {{SpecName('ES3')}} | {{Spec2('ES3')}} | Definición inicial. Implementado en JavaScript 1.2. |
| {{SpecName('ES5.1', '#sec-15.5.4.13', 'String.prototype.slice')}} | {{Spec2('ES5.1')}} | |
| {{SpecName('ES6', '#sec-string.prototype.slice', 'String.prototype.slice')}} | {{Spec2('ES6')}} | |
| {{SpecName('ESDraft', '#sec-string.prototype.slice', 'String.prototype.slice')}} | {{Spec2('ESDraft')}} |