--- title: String.prototype.slice() slug: Web/JavaScript/Reference/Global_Objects/String/slice tags: - JavaScript - Method - Prototype - Reference - String translation_of: Web/JavaScript/Reference/Global_Objects/String/slice ---
Метод slice() извлекает часть строки и возвращает новую строку без изменения оригинальной строки.
{{EmbedInteractiveExample("pages/js/string-slice.html", "taller")}}
str.slice(beginIndex[, endIndex])
beginIndexstr.length + beginIndex (например, если beginIndex равен -3, то он трактуется как str.length - 3). Если beginIndex не является числом при проверке {{jsxref('Number', 'Number(beginIndex)')}}, он трактуется как 0.beginIndex больше или равен str.length, возвращается пустая строка.endIndexendIndex опущен или является undefined или больше чем str.length, slice() извлечёт всё до конца строки. Если аргумент отрицателен, то трактуется как str.length + endIndex (например, если endIndex равен -3, то он трактуется как str.length - 3). Если аргумент не undefined и не является числом при проверке {{jsxref('Number', '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() используется для создания новой строки.
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() используется вместе с отрицательными индексами.
let str = 'Приближается утро.'; str.slice(-3); // вернёт 'ро.' str.slice(-3, -1); // вернёт 'ро' str.slice(0, -1); // вернёт 'Приближается утро'
В этом примере начальным индексом считается 11-й символ с конца строки, а конечным - 16-й с начала.
str.slice(-11, 16); // вернёт 'ается утр'
Здесь начальным индексом считается 6-й символ от начала строки, а конечным - 7-й с конца.
str.slice(6, -7); // вернёт 'жаетс'
В этом примере оба индекса считаются с конца строки: 5-й для начального индекса, 1-й для конечного.
str.slice(-5, -1); // вернёт 'утро'
| Спецификация | Статус | Комментарии |
|---|---|---|
| ECMAScript 3-е издание. | Стандарт | Изначальное определение. Реализована в JavaScript 1.2. |
| {{SpecName('ES5.1', '#sec-15.5.4.13', 'String.prototype.slice')}} | {{Spec2('ES5.1')}} | |
| {{SpecName('ES6', '#sec-string.prototype.slice', 'String.prototype.slice')}} | {{Spec2('ES6')}} |
{{Compat}}