String.prototype.slice()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Сводка

Метод slice() извлекает часть строки и возвращает новую строку без изменения оригинальной строки.

Интерактивный пример

const str = "The quick brown fox jumps over the lazy dog.";

console.log(str.slice(31));
// Expected output: "the lazy dog."

console.log(str.slice(4, 19));
// Expected output: "quick brown fox"

console.log(str.slice(-4));
// Expected output: "dog."

console.log(str.slice(-9, -5));
// Expected output: "lazy"

Синтаксис

str.slice(beginIndex[, endIndex])

Параметры

beginIndex

Индекс, с которого начинать извлечение (нумерация начинается с нуля). Если аргумент отрицателен, то трактуется как str.length + beginIndex (например, если beginIndex равен -3, то он трактуется как str.length - 3). Если beginIndex не является числом при проверке Number(beginIndex), он трактуется как 0.

Если beginIndex больше или равен str.length, возвращается пустая строка.

endIndex

Индекс, перед которым заканчивать извлечение (нумерация начинается с нуля). Символ по этому индексу не будет включён.

Если *endIndex *опущен или является undefined или больше чем str.length, slice() извлечёт всё до конца строки. Если аргумент отрицателен, то трактуется как str.length + endIndex (например, если endIndex равен -3, то он трактуется как str.length - 3). Если аргумент не undefined и не является числом при проверке Number(endIndex), возвращается пустая строка.

Если endIndex указан и меньше startIndex, то возвращается пустая строка (например, slice(-1, -3) или slice(3, 1) вернут "").

Возвращаемое значение

Новая строка, содержащая извлечённую часть строки.

Описание

Метод slice() извлекает текст из одной строки и возвращает новую строку. Изменения текста в одной строке не влияют на другую строку.

Метод slice() извлекает все символы до индекса endIndex, не включая сам этот индекс. Вызов str.slice(1, 4) извлечёт символы со второго по четвёртый (символы под индексами 1, 2 и 3).

К примеру, вызов str.slice(2, -1) извлечёт символы с третьего по второй с конца строки.

Примеры

Пример: использование метода slice() для создания новой строки

В следующем примере метод slice() используется для создания новой строки.

js
let str1 = "Приближается утро.";
let str2 = str1.slice(1, 8);
let str3 = str1.slice(4, -2);
let str4 = str1.slice(12);
let str5 = str1.slice(30);

console.log(str2); // ВЫВОД: риближа
console.log(str3); // ВЫВОД: лижается утр
console.log(str4); // ВЫВОД:  утро.
console.log(str5); // ВЫВОД: ""

Пример: использование метода slice() с отрицательными индексами

В следующем примере метод slice() используется вместе с отрицательными индексами.

js
let str = "Приближается утро.";
str.slice(-3); // вернёт 'ро.'
str.slice(-3, -1); // вернёт 'ро'
str.slice(0, -1); // вернёт 'Приближается утро'

В этом примере начальным индексом считается 11-й символ с конца строки, а конечным - 16-й с начала.

js
str.slice(-11, 16); // вернёт 'ается утр'

Здесь начальным индексом считается 6-й символ от начала строки, а конечным - 7-й с конца.

js
str.slice(6, -7); // вернёт 'жаетс'

В этом примере оба индекса считаются с конца строки: 5-й для начального индекса, 1-й для конечного.

js
str.slice(-5, -1); // вернёт 'утро'

Спецификации

Specification
ECMAScript® 2025 Language Specification
# sec-string.prototype.slice

Совместимость с браузерами

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
slice

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Смотрите также