--- 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])
beginIndex
str.length + beginIndex
(например, если beginIndex
равен -3
, то он трактуется как str.length - 3
). Если beginIndex
не является числом при проверке {{jsxref('Number', 'Number(beginIndex)')}}, он трактуется как 0
.beginIndex
больше или равен str.length
, возвращается пустая строка.endIndex
endIndex
опущен или является 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}}