Avatar ·

Comment supprimer le dernier caractère d'une chaîne en JavaScript ? (slice, substring, trim)

Bonjour à tous ! Je viens de commencer à apprendre JavaScript et j'ai rencontré une tâche simple, à première vue. J'ai une chaîne, par exemple :

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

Je dois en supprimer le dernier caractère (le point d'exclamation) pour obtenir "Привет, мир". J'ai essayé plusieurs méthodes, mais rien ne fonctionne comme je l'attends.

Premièrement, j'ai essayé str.trim(), mais il supprime uniquement les espaces au début et à la fin de la chaîne, pas le dernier caractère. Ensuite, j'ai écrit ce code :

str = str.slice(0, -1);
console.log(str); // "Привет, мир" – ça a marché !

Mais je ne comprends pas vraiment pourquoi cela fonctionne. Pourquoi -1 signifie-t-il "dernier caractère" ? Et existe-t-il d'autres façons de faire la même chose ? Par exemple, j'ai entendu parler de substring et substr, mais je me suis embrouillé dans leur syntaxe. De plus, que se passe-t-il si la chaîne est vide ? Mon code plantera-t-il avec une erreur ? Ou si je dois supprimer non pas un, mais deux derniers