Найти в Дзене
{ Вайтишники }

Основы JavaScript: всё про метод строк slice() + FAQ

slice() — это один из основных методов, встроенных в язык программирования JavaScript, работает из коробки стандартной библиотеки Node.js. slice() используют для извлечения подстроки из исходной строки. При этом строка (string или str) — это любая последовательность символов, строковый тип данных. Пустая строка — тоже строка. Важно! slice() не изменяет исходную строку, он всегда возвращает новую строку. Техническая документация по JavaScript выложена на сайте Mozilla (MDN web docs), там есть раздел про slice(). Для более глубокого понимания может быть полезным сайт ECMA-262 (стандарт JavaScript — 2026). Там есть раздел про slice(). Полное название частично раскрывает внутреннюю реализацию slice() разработчиками JavaScript. Код этой реализации может быть выложен в разделе Polyfill на сайте MDN, но не для всех встроенных методов и/или не на всех языках. Для метода slice() такой раздел не выложен. Важно! Метод slice() принимает один обязательный параметр (indexStart) и один необязательный
Оглавление
JavaScript Logo / flickr.com
JavaScript Logo / flickr.com

slice() в JavaScript: что это?

slice() — это один из основных методов, встроенных в язык программирования JavaScript, работает из коробки стандартной библиотеки Node.js.

slice() используют для извлечения подстроки из исходной строки.

При этом строка (string или str) — это любая последовательность символов, строковый тип данных. Пустая строка — тоже строка.

slice() в JavaScript: результат работы

-2

Важно! slice() не изменяет исходную строку, он всегда возвращает новую строку.

slice() в JavaScript: полезные ссылки

Техническая документация по JavaScript выложена на сайте Mozilla (MDN web docs), там есть раздел про slice().

Для более глубокого понимания может быть полезным сайт ECMA-262 (стандарт JavaScript — 2026). Там есть раздел про slice().

slice() в JavaScript: полное название

-3

Полное название частично раскрывает внутреннюю реализацию slice() разработчиками JavaScript.

Код этой реализации может быть выложен в разделе Polyfill на сайте MDN, но не для всех встроенных методов и/или не на всех языках.

Для метода slice() такой раздел не выложен.

slice() в JavaScript: синтаксис и параметры

-4

Важно! Метод slice() принимает один обязательный параметр (indexStart) и один необязательный параметр [indexEnd], который по умолчанию равен длине строки.

См. возможные значения этих параметров в разделе «Частые вопросы».

При этом параметр — это то, что передано в функцию, а функция —
это фрагмент кода, который вычисляет что-либо на основании параметров,
которые в неё переданы.

slice() в JavaScript: пример использования

-5

Если запустить этот код, то вернётся "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 (разработка полного цикла) и буду рад, если этот материал окажется полезным для вас.

{ Вайтишники }