String.prototype.slice()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Die slice()
-Methode von String
-Werten extrahiert einen Abschnitt des Strings und gibt ihn als neuen String zurück, ohne den ursprünglichen String zu verändern.
Probieren Sie es aus
const str = "The quick brown fox jumps over the lazy dog.";
console.log(str.slice(31));
// Expected output: "the lazy dog."
console.log(str.slice(4, 19));
// Expected output: "quick brown fox"
console.log(str.slice(-4));
// Expected output: "dog."
console.log(str.slice(-9, -5));
// Expected output: "lazy"
Syntax
slice(indexStart)
slice(indexStart, indexEnd)
Parameter
indexStart
-
Der Index des ersten Zeichens, das im zurückgegebenen Teilstring enthalten sein soll.
indexEnd
Optional-
Der Index des ersten Zeichens, das vom zurückgegebenen Teilstring ausgeschlossen werden soll.
Rückgabewert
Ein neuer String, der den extrahierten Abschnitt des ursprünglichen Strings enthält.
Beschreibung
slice()
extrahiert den Text aus einem String und gibt einen neuen String zurück.
slice()
extrahiert bis, aber nicht einschließlich indexEnd
. Zum Beispiel extrahiert str.slice(4, 8)
das fünfte bis achte Zeichen (Zeichen mit Index 4
, 5
, 6
und 7
):
indexStart indexEnd ↓ ↓ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | | T | h | e | | m | i | r | r | o | r | m i r r _______________ ↑ Result
- Wenn
indexStart >= str.length
, wird ein leerer String zurückgegeben. - Wenn
indexStart < 0
ist, wird der Index vom Ende des Strings aus gezählt. Formal beginnt in diesem Fall der Teilstring beimax(indexStart + str.length, 0)
. - Wenn
indexStart
weggelassen, undefiniert ist oder nicht in eine Zahl umgewandelt werden kann, wird er als0
behandelt. - Wenn
indexEnd
weggelassen oder undefiniert ist oderindexEnd >= str.length
, extrahiertslice()
bis zum Ende des Strings. - Wenn
indexEnd < 0
, wird der Index vom Ende des Strings aus gezählt. Formal endet in diesem Fall der Teilstring beimax(indexEnd + str.length, 0)
. - Wenn
indexEnd <= indexStart
nach Normalisierung negativer Werte (d. h.indexEnd
repräsentiert ein Zeichen, das vorindexStart
liegt), wird ein leerer String zurückgegeben.
Beispiele
Die Verwendung von slice(), um einen neuen String zu erstellen
Das folgende Beispiel zeigt, wie slice()
verwendet wird, um einen neuen String zu erstellen.
const str1 = "The morning is upon us."; // The length of str1 is 23.
const str2 = str1.slice(1, 8);
const str3 = str1.slice(4, -2);
const str4 = str1.slice(12);
const str5 = str1.slice(30);
console.log(str2); // he morn
console.log(str3); // morning is upon u
console.log(str4); // is upon us.
console.log(str5); // ""
Die Verwendung von slice() mit negativen Indizes
Das folgende Beispiel zeigt die Verwendung von slice()
mit negativen Indizes.
const str = "The morning is upon us.";
str.slice(-3); // 'us.'
str.slice(-3, -1); // 'us'
str.slice(0, -1); // 'The morning is upon us'
str.slice(4, -1); // 'morning is upon us'
In diesem Beispiel wird vom Ende des Strings 11 Stellen rückwärts gezählt, um den Startindex zu finden, und vom Anfang des Strings 16 Stellen vorwärts gezählt, um den Endindex zu finden.
console.log(str.slice(-11, 16)); // "is u"
Hier wird vom Anfang aus 11 Stellen vorwärts gezählt, um den Startindex zu finden, und vom Ende aus 7 Stellen rückwärts gezählt, um den Endindex zu finden.
console.log(str.slice(11, -7)); // " is u"
Diese Argumente zählen 5 Stellen rückwärts vom Ende, um den Startindex zu finden, und 1 Stelle rückwärts vom Ende, um den Endindex zu finden.
console.log(str.slice(-5, -1)); // "n us"
Spezifikationen
Specification |
---|
ECMAScript® 2025 Language Specification # sec-string.prototype.slice |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
slice |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support