Avatar ·

Wie entferne ich das letzte Zeichen aus einem String in JavaScript? (slice, substring, trim)

Hallo zusammen! Ich habe gerade angefangen, JavaScript zu lernen, und bin auf eine scheinbar einfache Aufgabe gestoßen. Ich habe einen String, zum Beispiel:

\n\n
let str = "Привет, мир!";\n
\n\n

Ich muss das letzte Zeichen (das Ausrufezeichen) daraus entfernen, sodass "Привет, мир" übrig bleibt. Ich habe mehrere Methoden ausprobiert, aber nichts funktioniert so, wie ich es erwarte.

\n\n

Erstens habe ich str.trim() versucht, aber es entfernt nur Leerzeichen am Anfang und Ende des Strings, nicht das letzte Zeichen. Dann habe ich diesen Code geschrieben:

\n\n
str = str.slice(0, -1);\nconsole.log(str); // "Привет, мир" – hat funktioniert!\n
\n\n

Aber ich verstehe nicht ganz, warum das funktioniert. Warum bedeutet -1 "das letzte Zeichen"? Und gibt es andere Möglichkeiten, dasselbe zu erreichen? Zum Beispiel,