slice() в JavaScript: что это?
slice() — это один из основных методов, встроенных в язык программирования JavaScript, работает из коробки стандартной библиотеки Node.js.
slice() используют для извлечения подстроки из исходной строки.
При этом строка (string или str) — это любая последовательность символов, строковый тип данных. Пустая строка — тоже строка.
slice() в JavaScript: результат работы
Важно! slice() не изменяет исходную строку, он всегда возвращает новую строку.
slice() в JavaScript: полезные ссылки
Техническая документация по JavaScript выложена на сайте Mozilla (MDN web docs), там есть раздел про slice().
Для более глубокого понимания может быть полезным сайт ECMA-262 (стандарт JavaScript — 2026). Там есть раздел про slice().
slice() в JavaScript: полное название
Полное название частично раскрывает внутреннюю реализацию slice() разработчиками JavaScript.
Код этой реализации может быть выложен в разделе Polyfill на сайте MDN, но не для всех встроенных методов и/или не на всех языках.
Для метода slice() такой раздел не выложен.
slice() в JavaScript: синтаксис и параметры
Важно! Метод slice() принимает один обязательный параметр (indexStart) и один необязательный параметр [indexEnd], который по умолчанию равен длине строки.
См. возможные значения этих параметров в разделе «Частые вопросы».
При этом параметр — это то, что передано в функцию, а функция —
это фрагмент кода, который вычисляет что-либо на основании параметров,
которые в неё переданы.
slice() в JavaScript: пример использования
Если запустить этот код, то вернётся "ello, worl".
Для запуска кода c целью тренировки можно использовать онлайн-песочницу JavaScript, например runjs.app.
slice() в JavaScript: FAQ
slice() в JavaScript: FAQ общего характера
- Что если параметр [indexEnd] меньше (indexStart)?
Ответ: В этом случае программа вернёт пустую строку.
- Что если параметр [indexEnd] равен (indexStart)?
Ответ: В этом случае программа вернёт пустую строку.
- Может ли метод slice() изменить исходную строку?
Ответ: Он возвращает новую строку, но не изменяет и не может изменить исходную.
- Работает ли метод slice() с нестроковыми типами данных?
Ответ: Он работает только со строками. При этом в JavaScript строка — это любые символы, которые находятся между кавычек, в т.ч. отсутствие символов.
- С какими браузерами совместим метод slice()?
Ответ: Он совместим со всеми основными современными браузерами (апрель 2025).
slice() в JavaScript: FAQ про обязательный параметр (indexStart)
(indexStart) — это порядковый индекс, с которого метод slice() начинает извлечение подстроки из исходной строки, нумерация индексов всегда начинается с 0.
- Что если параметр (indexStart) в методе slice() равен длине строки?
Ответ: В этом случае программа вернёт пустую строку.
- Что если параметр (indexStart) методе slice() больше длины строки?
Ответ: В этом случае программа вернёт пустую строку.
- Что если параметр (indexStart) в методе slice() меньше 0?
Ответ: В этом случае значение (indexStart) вычисляется по формуле (string.length + (indexStart)), где string.length — это длина строки.
Вот как это работает: предположим, string.length = 4, (indexStart) = -2.
Тогда (indexStart) будет равным (4 + (-2) = 2.
- Что если параметр (indexStart) в методе slice() не является числом либо не может быть представлен в виде числа?
Ответ: В этом случае в программе он будет равным 0.
- Что если параметр (indexStart) в методе slice() равен undefined?
Ответ: В этом случае в программе он будет равным 0.
slice() в JavaScript: FAQ про необязательный параметр [indexEnd]
[indexEnd] — это порядковый индекс, перед которым метод slice() заканчивает извлечение подстроки из исходной строки, нумерация индексов всегда начинается с 0.
Важно! slice() не извлекает элемент по индексу [indexEnd].
Чтобы извлечь подстроку вместе с ним, к [indexEnd] в коде нужно прибавить единицу.
- Что если параметр [indexEnd] в методе slice() отсутствует?
Ответ: В этом случае slice() извлечёт всё до конца исходной строки.
- Что если параметр [indexEnd] в методе slice() равен длине строки?
Ответ: В этом случае slice() извлечёт всё до конца исходной строки.
- Что если параметр [indexEnd] в методе slice() больше длины строки?
Ответ: В этом случае slice() извлечёт всё до конца исходной строки.
- Что если параметр [indexEnd] в методе slice() меньше 0?
Ответ: В этом случае значение [indexEnd] вычисляется по формуле (string.length + [indexEnd]), где string.length — это длина строки.
Вот как это работает: предположим, string.length = 10, а [indexEnd] = -5.
Тогда [indexEnd] будет равным (10 + (-5)) = 5.
- Что если параметр [indexEnd] в методе slice() не является числом либо не может быть представлен в виде числа?
Ответ: В этом случае в программе он будет равным 0.
- Что если параметр [indexEnd] в методе slice() равен undefined?
Ответ: В этом случае slice() извлечёт всё до конца исходной строки.
===
Я учусь в онлайн-школе по программе fullstack (разработка полного цикла) и буду рад, если этот материал окажется полезным для вас.