String.slice(): фрагмент строки по границам
Метод slice возвращает часть строки между начальной включённой и конечной исключённой позициями.
Назначение
Метод slice возвращает часть строки между начальной включённой и конечной исключённой позициями.
Как это работает
Отрицательные позиции отсчитываются от конца. Индексы относятся к кодовым единицам UTF-16, поэтому произвольное разрезание может разделить составной символ или суррогатную пару.
Пример
const text='HTML CSS';
console.assert(text.slice(0,4)==='HTML');
console.assert(text.slice(-3)==='CSS');
console.assert(text==='HTML CSS');
Что должно получиться
Первый срез содержит четыре кодовые единицы HTML, последний — CSS. Исходная строка остаётся прежней, поскольку строковые методы не меняют её на месте.
Граница применения и частая ошибка
Не обрезайте пользовательский текст по случайному индексу, если важно сохранять видимые символы целиком. Для интерфейсного сокращения нужно учитывать сегментацию текста.
Самостоятельная проверка
Получите расширение простого имени файла через отрицательный индекс. Затем проверьте строку с эмодзи и объясните отличие длины JavaScript от числа видимых знаков.
JavaScript в песочнице этого сайта не выполняется. Перенесите пример в отдельный учебный файл. Сначала проверьте исходный результат, затем измените входные данные; ошибка проверки означает, что результат отличается от ожидаемого.