Строки в JavaScript неизменяемы. Это значит, что после создания строку нельзя изменить. Когда нужно удалить последний символ из строки, то нужно создать новую строку без этого “лишнего” символа.

Удаляем последний символ в JS строке с помощью slice

const base = 'javascript, remove last char!'

const s = base.slice(0, -1);

console.log(s); // javascript, remove last char

Функция slice возвращает часть строки. Мы передаем в нее два аргумента, start и end. В результате slice вернет нам часть строки base между start и end.

Если end - отрицательное число, то поиск последнего элемента начнется с конца.

Выражение

base.slice(0, -1);

Значит то же, что и

base.slice(0, base.length - 1);

Используем substring для удаления последнего символа JS строки

Так как функция slice возвращает нам подстроку и никак не меняет исходную строку, то мы вполне можем заменить ее на substring.

const base = 'javascript, remove last char!'

const s = base.substring(0, base.length - 1);

console.log(s); // javascript, remove last char

Обрати внимание, что если ты передашь вторым параметром в substring отрицательное число, то получишь в результате пустую строку

base.substring(0, -1); // ''

Поведение отличается от slice.

Выводы

Теперь ты знаешь как удалить последний символ строки в JS.

Ключевые пункты:

  • Строки в JavaScript невозможно изменить после создания
  • Если тебе нужно удалить последний символ в JS строке, ты должен создать новую строку без этого символа
  • Для создания подстроки ты можешь использовать slice или substring