Der Unterschied zwischen String.slice und String.substring in JavaScript

Tahseen Tauseef 12 Oktober 2023
  1. Was ist String und prototype in JavaScript?
  2. Was ist slice und substring in JavaScript?
  3. Was sind die Ähnlichkeiten zwischen slice und substring in JavaScript?
  4. Was sind die Unterschiede zwischen slice und substring in JavaScript?
Der Unterschied zwischen String.slice und String.substring in JavaScript

In diesem Tutorial-Artikel werden wir diskutieren, was Slice und Substring in JavaScript sind und was sie unterscheidet und was nicht. Folgende Fragen werden in diesem Artikel behandelt:

  • Was ist String und Prototyp?
  • Was ist slice und substring
  • Was sind die Ähnlichkeiten zwischen slice und substring
  • Was sind die Unterschiede zwischen slice und substring

Was ist String und prototype in JavaScript?

Beginnen wir mit der Diskussion des Objekts String. Das String-Objekt wird verwendet, um eine Zeichenkette darzustellen, und wird häufig mit Daten verwendet, die als Text dargestellt werden müssen.

Hinweis: Grundwerte können keine Eigenschaften oder Methoden haben.

JavaScript behandelt primitive Werte als Objekte, indem es sie in einen speziellen Objekt-Wrapper einhüllt, der zusätzliche Funktionen wie Hilfsmethoden und Eigenschaften bereitstellt. Jeder primitive Typ hat seinen “Objekt-Wrapper”; der String-Typ heißt String.

Konzentrieren wir uns auf prototype, ein prototype ist eine globale Eigenschaft mit allen JavaScript-Objekten. Es ermöglicht das Hinzufügen neuer Methoden und Eigenschaften zu bestehenden Objekten.

function footballClub(name, stadium, founded) {
  this.name = name;
  this.stadium = stadium;
  this.founded = founded;
}
footballClub.prototype.firstTeamPlayers = 11;

const FCB = new footballClub('FC Barcelona', 'Camp Nou', 1899);
console.log(FCB.firstTeamPlayers);
// logs 11

Ausgabe:

11

Im obigen Beispiel hat jede footballClub-Instanz die Eigenschaft firstTeamPlayers auf 11 gesetzt. In ähnlicher Weise können Sie mit der Eigenschaft prototype Strings neue Eigenschaften und Methoden hinzufügen.

Was ist slice und substring in JavaScript?

slice und substring sind Prototypeigenschaften, die in Form von Funktionen auf allen JavaScript-Strings existieren. Die Funktion slice und substring extrahiert einen Teil eines Strings und gibt ihn als neuen String zurück. Die Methode slice ändert die ursprüngliche Zeichenkette nicht.

Es braucht zwei Argumente, das erste Argument gibt den Startindex an, von dem aus die Extraktion gestartet werden soll (der Index beginnt bei 0), und das zweite Argument gibt den Endindex des Strings an (der Endindex ist nicht Teil der Extraktion).

let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(3, 8);
let substringStr = str.substring(3, 8);
console.log(slicedStr)     // logs: na be
console.log(substringStr)  // logs: na be

Ausgabe:

na be
na be

Was sind die Ähnlichkeiten zwischen slice und substring in JavaScript?

Wenn start gleich stop ist, geben sowohl slice als auch substring einen leeren String zurück.

let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(8, 8);
let substringStr = str.substring(9, 8);
console.log(slicedStr)     // logs:
console.log(substringStr)  // logs:

Ausgabe:

Wenn stop (zweites Argument) nicht sowohl slice als auch substring enthält, werden Zeichen bis zum Ende des Strings extrahiert.

let str = "Gonna be extracted,Help!"; 
let slicedStr = str.slice(3);
let substringStr = str.substring(3);
console.log(slicedStr) // logs: na be extracted,Help!
console.log(substringStr) // logs: na be extracted,Help!

Ausgabe:

na be extracted,Help!
na be extracted,Help!

Wenn entweder das Argument start oder stop größer als die Länge des Strings ist, wird die Länge des Strings anstelle des übergebenen Arguments verwendet.

let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(1, 100);
let substringStr = str.substring(1, 100);
console.log(slicedStr)     // logs: onna be extracted,Help!
console.log(substringStr)  // logs: onna be extracted,Help!

Ausgabe:

onna be extracted,Help!
onna be extracted,Help!

Was sind die Unterschiede zwischen slice und substring in JavaScript?

Wenn das Argument start grösser ist als das Argument stop in slice, wird ein leerer String zurückgegeben, während substring diese beiden Argumente vertauscht, wenn dies der Fall ist.

let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(8, 3);
let substringStr = str.substring(8, 3);
console.log(slicedStr)     // logs:
console.log(substringStr)  // logs: na be

Ausgabe:

na be

Wenn das Argument start oder das Argument stop negativ oder NaN ist, wird es so behandelt, als ob sein Wert 0 in substring wäre, wohingegen in slice, wenn das Argument start negativ ist, Zeichen von das Ende der Saite.

let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(-1);
let substringStr = str.substring(-1);
console.log(slicedStr)     // logs: !
console.log(substringStr)  // logs: Gonna be extracted,Help!

Ausgabe:

!
Gonna be extracted,Help!

Verwandter Artikel - JavaScript String