String
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Объект String используется для представления и обработки последовательности символов.
Описание
Строки полезны для хранения данных, которые можно представить в текстовом виде. К наиболее часто используемым операциям со строками относятся проверка их length, создание строк и их объединение с помощью строковых операторов + и +=, проверка наличия подстрок или определение их положения с помощью метода indexOf(), а также извлечение подстрок с помощью метода substring().
Создание строк
Строки можно создавать как примитивы, используя строковые литералы, или как объекты с помощью конструктора String():
const string1 = "A string primitive"; const string2 = 'Also a string primitive'; const string3 = `Yet another string primitive`;
const string4 = new String("A String object");
У примитивов-строк и объектов-строк много общего, но есть и важные различия и особенности. См. раздел «Примитивы-строки и объекты String» ниже.
Строковые литералы можно записывать в одинарных или двойных кавычках, которые обрабатываются одинаково, либо с помощью обратной кавычки `. Последняя форма задаёт шаблонный литерал, позволяющий интерполировать выражения. Подробнее о синтаксисе строковых литералов см. в разделе лексической грамматики.
Доступ к символам
Есть два способа получить доступ к отдельному символу строки. Первый — метод charAt():
"cat".charAt(1); // gives value "a"
Другой способ — обращаться со строкой как с объектом, подобным массиву, где отдельным символам соответствуют числовые индексы:
"cat"[1]; // gives value "a"
При доступе к символам с помощью квадратных скобок удалить эти свойства или присвоить им значение не получится. Соответствующие свойства нельзя изменять или настраивать. (Подробнее см. в разделе Object.defineProperty().)
Сравнение строк
Для сравнения строк используйте операторы «меньше» и «больше»:
const a = "a";
const b = "b";
if (a < b) {
// true
console.log(`${a} is less than ${b}`);
} else if (a > b) {
console.log(`${a} is greater than ${b}`);
} else {
console.log(`${a} and ${b} are equal.`);
}
Обратите внимание, что все операторы сравнения, включая === и ==, сравнивают строки с учётом регистра. Обычно для сравнения строк без учёта регистра обе строки сначала приводят к одному регистру (верхнему или нижнему).
function areEqualCaseInsensitive(str1, str2) {
return str1.toUpperCase() === str2.toUpperCase();
}
Выбор между преобразованием с помощью toUpperCase() и toLowerCase() в большинстве случаев произволен, и ни один из этих методов не обеспечивает полной надёжности за пределами латинского алфавита. Например, немецкие строчные буквы ß и ss преобразуются в SS с помощью toUpperCase(), тогда как турецкая буква ı будет ошибочно признана отличной от I методом toLowerCase(), если специально не использовать toLocaleLowerCase("tr").
const areEqualInUpperCase = (str1, str2) =>
str1.toUpperCase() === str2.toUpperCase();
const areEqualInLowerCase = (str1, str2) =>
str1.toLowerCase() === str2.toLowerCase();
areEqualInUpperCase("ß", "ss"); // true; should be false
areEqualInLowerCase("ı", "I"); // false; should be true
Надёжное решение с учётом локали для проверки равенства без учёта регистра — использовать API Intl.Collator или метод строки localeCompare() — у них одинаковый интерфейс — и задать для параметра sensitivity значение "accent" или "base".
const areEqual = (str1, str2, locale = "en-US") =>
str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;
areEqual("ß", "ss", "de"); // false
areEqual("ı", "I", "tr"); // true
Метод localeCompare() позволяет сравнивать строки подобно strcmp() — он позволяет сортировать строки с учётом локали.
Примитивы-строки и объекты String
Обратите внимание, что JavaScript различает объекты String и значения примитивного типа string. (То же относится к Boolean и Numbers.)
Строковые литералы (заключённые в двойные или одинарные кавычки) и строки, возвращаемые вызовами String вне контекста конструктора (то есть без использования ключевого слова new), являются примитивами типа string. В контекстах, где у примитива-строки вызывается метод или выполняется поиск свойства, JavaScript автоматически оборачивает примитив-строку и вызывает метод или ищет свойство уже у объекта-обёртки.
const strPrim = "foo"; // A literal is a string primitive const strPrim2 = String(1); // Coerced into the string primitive "1" const strPrim3 = String(true); // Coerced into the string primitive "true" const strObj = new String(strPrim); // String with new returns a string wrapper object. console.log(typeof strPrim); // "string" console.log(typeof strPrim2); // "string" console.log(typeof strPrim3); // "string" console.log(typeof strObj); // "object"
Предупреждение: Вам редко понадобится использовать String в качестве конструктора.
При использовании eval() примитивы-строки и объекты String также дают разные результаты. Примитивы, переданные в eval, обрабатываются как исходный код; объекты String обрабатываются как любые другие объекты — возвращается сам объект. Например:
const s1 = "2 + 2"; // creates a string primitive
const s2 = new String("2 + 2"); // creates a String object
console.log(eval(s1)); // returns the number 4
console.log(eval(s2)); // returns the string "2 + 2"
По этим причинам код может перестать работать, если встретит объекты String там, где ожидается примитив-строка, хотя обычно авторам не нужно беспокоиться об этом различии.
Объект String всегда можно преобразовать в соответствующий примитив с помощью метода valueOf().
console.log(eval(s2.valueOf())); // returns the number 4
Приведение к строке
Многие встроенные операции, ожидающие строки, сначала приводят аргументы к строкам (во многом поэтому объекты String ведут себя аналогично примитивам-строкам). Операцию преобразования можно кратко описать так:
- Строки возвращаются без изменений.
-
undefinedпреобразуется в"undefined". -
nullпреобразуется в"null". -
trueпреобразуется в"true";falseпреобразуется в"false". - Числа преобразуются с помощью того же алгоритма, что и в
toString(10). -
значения BigInt преобразуются с помощью того же алгоритма, что и в
toString(10). -
символы вызывают исключение
TypeError. - Сначала объекты преобразуются в примитивы путём вызова методов
[Symbol.toPrimitive]()(с подсказкой"string"),toString()иvalueOf()именно в таком порядке. Затем полученный примитив преобразуется в строку.
В JavaScript есть несколько способов добиться почти такого же результата.
-
Шаблонный литерал:
`${x}`выполняет описанные выше шаги приведения к строке для встроенного выражения. - Функция
String():String(x)использует тот же алгоритм для преобразованияx, за исключением того, что символы не вызывают исключениеTypeError, а возвращают"Symbol(description)", гдеdescription— это описание символа. - Использование оператора
+:"" + xприводит операнд к примитиву, а не к строке, и для некоторых объектов работает совсем не так, как обычное приведение к строке. Подробнее см. на справочной странице.
В зависимости от вашей задачи может понадобиться использовать `${x}` (чтобы имитировать поведение встроенных механизмов) или String(x) (чтобы обрабатывать значения символов без исключений), но не следует использовать "" + x.
Символы UTF-16, кодовые точки Unicode и графемные кластеры
Строки по своей сути представлены последовательностями 16-битных кодовых единиц UTF-16. В кодировке UTF-16 каждая кодовая единица имеет длину ровно 16 бит. Это означает, что существует не более 216, или 65536, символов, которые можно представить одной кодовой единицей UTF-16. Этот набор символов называется основной многоязычной плоскостью (BMP) и включает наиболее распространённые символы: латинский, греческий и кириллический алфавиты, а также многие восточноазиатские символы. Каждую кодовую единицу можно записать в строке с помощью \u и ровно четырёх шестнадцатеричных цифр.
Однако весь набор символов Unicode намного больше 65536. Дополнительные символы хранятся в UTF-16 в виде суррогатных пар — пар 16-битных кодовых единиц, представляющих один символ. Во избежание неоднозначности обе части пары должны находиться в диапазонах 0xD800 и 0xDFFF, а эти кодовые единицы не используются для кодирования символов одной кодовой единицей. (Точнее, ведущие суррогаты, также называемые кодовыми единицами старших суррогатов, имеют значения от 0xD800 до 0xDBFF включительно, а завершающие суррогаты, также называемые кодовыми единицами младших суррогатов, — от 0xDC00 до 0xDFFF включительно.) Каждый символ Unicode, состоящий из одной или двух кодовых единиц UTF-16, также называется кодовой точкой Unicode. Каждую кодовую точку Unicode можно записать в строке с помощью \u{xxxxxx}, где xxxxxx обозначает от 1 до 6 шестнадцатеричных цифр.
«Одинокий суррогат» — это 16-битная кодовая единица, соответствующая одному из описаний ниже:
- Она находится в диапазоне от
0xD800до0xDBFFвключительно (то есть является ведущим суррогатом), но это последняя кодовая единица в строке либо следующая кодовая единица не является завершающим суррогатом. - Она находится в диапазоне от
0xDC00до0xDFFFвключительно (то есть является завершающим суррогатом), но это первая кодовая единица в строке либо предыдущая кодовая единица не является ведущим суррогатом.
Одинокие суррогаты не представляют символы Unicode. Большинство встроенных методов JavaScript обрабатывают их правильно, поскольку все они работают с 16-битными кодовыми единицами UTF-16, однако при взаимодействии с другими системами одинокие суррогаты часто оказываются недопустимыми значениями. Например, encodeURI() вызывает исключение URIError для одиноких суррогатов, поскольку при кодировании URI используется UTF-8, в которой нет кодировки для одиноких суррогатов. Строки, не содержащие одиноких суррогатов, называются корректно сформированными и безопасны для использования с функциями, не работающими с UTF-16, такими как encodeURI() или TextEncoder. Проверить, корректно ли сформирована строка, можно с помощью метода isWellFormed(), а устранить одинокие суррогаты — с помощью метода toWellFormed().
Помимо символов Unicode, существуют последовательности символов Unicode, которые следует рассматривать как одну визуальную единицу, называемую графемным кластером. Наиболее распространённый пример — эмодзи: многие эмодзи с различными вариантами на самом деле состоят из нескольких эмодзи, обычно объединённых символом <ZWJ> (U+200D).
Важно учитывать, на каком уровне символов выполняется перебор. Например, split("") разделяет строку на 16-битные кодовые единицы UTF-16 и разделяет суррогатные пары. Индексы строк также указывают на положение каждой кодовой единицы UTF-16. В то же время [Symbol.iterator]() выполняет перебор по кодовым точкам Unicode. Для перебора графемных кластеров потребуется собственный код.
"😄".split(""); // ['\ud83d', '\ude04']; splits into two lone surrogates
// "Backhand Index Pointing Right: Dark Skin Tone"
[..."👉🏿"]; // ['👉', '🏿']
// splits into the basic "Backhand Index Pointing Right" emoji and
// the "Dark skin tone" emoji
// "Family: Man, Boy"
[..."👨👦"]; // [ '👨', '', '👦' ]
// splits into the "Man" and "Boy" emoji, joined by a ZWJ
// The United Nations flag
[..."🇺🇳"]; // [ '🇺', '🇳' ]
// splits into two "region indicator" letters "U" and "N".
// All flag emojis are formed by joining two region indicator letters
Конструктор
-
String() - Создаёт объекты
String. При вызове как функция возвращает примитивные значения типа String.
Статические методы
-
String.fromCharCode() - Возвращает строку, созданную с использованием указанной последовательности значений Unicode.
-
String.fromCodePoint() - Возвращает строку, созданную с использованием указанной последовательности кодовых точек.
-
String.raw() - Возвращает строку, созданную из необработанного шаблонного литерала.
Свойства экземпляра
Эти свойства определены в String.prototype и доступны всем экземплярам String.
-
String.prototype.constructor - Функция-конструктор, создавшая объект-экземпляр. Для экземпляров
Stringисходным значением является конструкторString.
Эти свойства являются собственными свойствами каждого экземпляра String.
-
length - Отражает
lengthстроки. Доступно только для чтения.
Методы экземпляра
-
String.prototype.at() - Возвращает символ (ровно одну кодовую единицу UTF-16) по указанному
index. Принимает отрицательные целые числа, отсчитываемые от последнего символа строки. -
String.prototype.charAt() - Возвращает символ (ровно одну кодовую единицу UTF-16) по указанному
index. -
String.prototype.charCodeAt() - Возвращает число — значение кодовой единицы UTF-16 по указанному
index. -
String.prototype.codePointAt() - Возвращает неотрицательное целое число Number — значение кодовой точки для кодовой точки в кодировке UTF-16, начинающейся с указанного
pos. -
String.prototype.concat() - Объединяет текст двух или более строк и возвращает новую строку.
-
String.prototype.endsWith() - Определяет, заканчивается ли строка символами строки
searchString. -
String.prototype.includes() - Определяет, содержит ли вызываемая строка
searchString. -
String.prototype.indexOf() - Возвращает индекс первого вхождения
searchValueв этой строке или-1, если совпадений нет. -
String.prototype.isWellFormed() - Возвращает логическое значение, указывающее, содержит ли эта строка одинокие суррогаты.
-
String.prototype.lastIndexOf() - Возвращает индекс последнего вхождения
searchValueв этой строке или-1, если совпадений нет. -
String.prototype.localeCompare() - Возвращает число, указывающее, идёт ли исходная строка
compareStringперед заданной строкой, после неё или эквивалентна ей в порядке сортировки. -
String.prototype.match() - Используется для поиска соответствий регулярного выражения
regexpв строке. -
String.prototype.matchAll() - Возвращает итератор со всеми совпадениями
regexp. -
String.prototype.normalize() - Возвращает форму нормализации Unicode для значения вызываемой строки.
-
String.prototype.padEnd() - Дополняет текущую строку с конца заданной строкой и возвращает новую строку длины
targetLength. -
String.prototype.padStart() - Дополняет текущую строку с начала заданной строкой и возвращает новую строку длины
targetLength. -
String.prototype.repeat() - Возвращает строку, состоящую из элементов объекта, повторённых
countраз. -
String.prototype.replace() - Используется для замены вхождений
searchForс помощьюreplaceWith.searchForможет быть строкой или регулярным выражением, аreplaceWith— строкой или функцией. -
String.prototype.replaceAll() - Используется для замены всех вхождений
searchForс помощьюreplaceWith.searchForможет быть строкой или регулярным выражением, аreplaceWith— строкой или функцией. -
String.prototype.search() - Выполняет поиск совпадения регулярного выражения
regexpс вызываемой строкой. -
String.prototype.slice() - Извлекает часть строки и возвращает новую строку.
-
String.prototype.split() - Возвращает массив строк, полученный разделением вызываемой строки в местах вхождения подстроки
sep. -
String.prototype.startsWith() - Определяет, начинается ли вызываемая строка с символов строки
searchString. -
String.prototype.substr()Устарело - Возвращает часть строки, начиная с указанного индекса и продолжая заданное количество символов.
-
String.prototype.substring() - Возвращает новую строку, содержащую символы вызываемой строки, начиная с указанного индекса или между указанными индексами.
-
String.prototype.toLocaleLowerCase() -
Символы строки преобразуются в нижний регистр с учётом текущей локали.
Для большинства языков результат будет таким же, как у
toLowerCase(). -
String.prototype.toLocaleUpperCase() -
Символы строки преобразуются в верхний регистр с учётом текущей локали.
Для большинства языков результат будет таким же, как у
toUpperCase(). -
String.prototype.toLowerCase() - Возвращает значение вызываемой строки, преобразованное в нижний регистр.
-
String.prototype.toString() - Возвращает строку, представляющую указанный объект. Переопределяет метод
Object.prototype.toString(). -
String.prototype.toUpperCase() - Возвращает значение вызываемой строки, преобразованное в верхний регистр.
-
String.prototype.toWellFormed() - Возвращает строку, в которой все одинокие суррогаты заменены символом замены Unicode U+FFFD.
-
String.prototype.trim() - Удаляет пробельные символы в начале и конце строки.
-
String.prototype.trimEnd() - Удаляет пробельные символы в конце строки.
-
String.prototype.trimStart() - Удаляет пробельные символы в начале строки.
-
String.prototype.valueOf() - Возвращает примитивное значение указанного объекта. Переопределяет метод
Object.prototype.valueOf(). -
String.prototype[Symbol.iterator]() - Возвращает новый объект-итератор, перебирающий кодовые точки значения String и возвращающий каждую кодовую точку как значение String.
Методы-обёртки HTML
Предупреждение: Устарело. Избегайте использования этих методов.
Они имеют ограниченное применение, поскольку основаны на очень старом стандарте HTML и поддерживают лишь часть доступных сегодня тегов и атрибутов HTML. Многие из них сейчас создают устаревшую или нестандартную разметку. Кроме того, они объединяют строки без проверки и очистки данных, что создаёт потенциальную угрозу безопасности при непосредственной вставке с помощью innerHTML. Вместо этого используйте API DOM, например document.createElement().
-
String.prototype.anchor()Устарело <a name="name">(цель гиперссылки)-
String.prototype.big()Устарело <big>-
String.prototype.blink()Устарело <blink>-
String.prototype.bold()Устарело <b>-
String.prototype.fixed()Устарело <tt>-
String.prototype.fontcolor()Устарело <font color="color">-
String.prototype.fontsize()Устарело <font size="size">-
String.prototype.italics()Устарело <i>-
String.prototype.link()Устарело <a href="url">(ссылка на URL)-
String.prototype.small()Устарело <small>-
String.prototype.strike()Устарело <strike>-
String.prototype.sub()Устарело <sub>-
String.prototype.sup()Устарело <sup>
Обратите внимание, что эти методы не проверяют наличие HTML-тегов в самой строке, поэтому с их помощью можно создать недопустимый HTML:
"</b>".bold(); // <b></b></b>
Единственное выполняемое ими экранирование — замена " в значении атрибута (для anchor(), fontcolor(), fontsize() и link()) на ".
"foo".anchor('"Hello"'); // <a name=""Hello"">foo</a>
Примеры
Преобразование в строку
Функция String() надёжнее преобразует значения в строки, чем вызов метода toString() для значения, поскольку первый способ работает с null и undefined. Например:
// You cannot access properties on null or undefined const nullVar = null; nullVar.toString(); // TypeError: Cannot read properties of null String(nullVar); // "null" const undefinedVar = undefined; undefinedVar.toString(); // TypeError: Cannot read properties of undefined String(undefinedVar); // "undefined"
Спецификации
Совместимость с браузерами
| Компьютер | Мобильные устройства | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari в iOS | Samsung Internet | WebView для Android | WebView в iOS | Bun | Deno | Node.js | |
String |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
1 |
1 |
1.0.0 |
1.0 |
0.10.0 |
@@iterator |
38 |
12 |
36
27–36Используется свойство-заполнитель с именем@@iterator.17–27Используется свойство-заполнитель с именемiterator. |
25 |
9 |
38 |
36
27–36Используется свойство-заполнитель с именем@@iterator.17–27Используется свойство-заполнитель с именемiterator. |
25 |
9 |
3.0 |
38 |
9 |
1.0.0 |
1.0 |
0.12.0 |
String |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
1 |
1 |
1.0.0 |
1.0 |
0.10.0 |
anchor |
1 |
12 |
1Начиная с версии 17, кавычка (") в строках, переданных параметруname, заменяется соответствующим HTML-символом ("). |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
at |
92 |
92 |
90 |
78 |
15.4 |
92 |
90 |
65 |
15.4 |
16.0 |
92 |
15.4 |
1.0.0 |
1.12 |
16.6.0 |
big |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
blink |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
bold |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
charAt |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
charCodeAt |
1 |
12 |
1 |
4 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
codePointAt |
41 |
12 |
29 |
28 |
9 |
41 |
29 |
28 |
9 |
4.0 |
41 |
9 |
1.0.0 |
1.0 |
4.0.0 |
concat |
1 |
12 |
1 |
4 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
endsWith |
41 |
12 |
17 |
28 |
9 |
36 |
17 |
24 |
9 |
3.0 |
37 |
9 |
1.0.0 |
1.0 |
4.0.0 |
fixed |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
fontcolor |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
fontsize |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
fromCharCode |
1 |
12 |
1 |
4 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
fromCodePoint |
41 |
12 |
29 |
28 |
9 |
41 |
29 |
28 |
9 |
4.0 |
41 |
9 |
1.0.0 |
1.0 |
4.0.0 |
includes |
41 |
12 |
40
18–48
|
28 |
9 |
41 |
40
18–48
|
28 |
9 |
4.0 |
41 |
9 |
1.0.0 |
1.0 |
4.0.0 |
indexOf |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
isWellFormed |
111 |
111 |
119 |
97 |
16.4 |
111 |
119 |
75 |
16.4 |
22.0 |
111 |
16.4 |
1.0.0 |
1.32 |
20.0.0 |
italics |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
lastIndexOf |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
length |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
link |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
localeCompare |
1 |
12 |
1 |
7 |
3 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
match |
1 |
12 |
1 |
4 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
matchAll |
73 |
79 |
67 |
60 |
13 |
73 |
67 |
52 |
13 |
11.0 |
73 |
13 |
1.0.0 |
1.0 |
12.0.0 |
normalize |
34 |
12 |
31 |
21 |
10 |
34 |
31 |
21 |
10 |
2.0 |
37 |
10 |
1.0.0 |
1.0 |
0.12.0 |
padEnd |
57 |
15 |
48 |
44 |
10 |
57 |
48 |
43 |
10 |
7.0 |
57 |
10 |
1.0.0 |
1.0 |
8.0.0 |
padStart |
57 |
15 |
48 |
44 |
10 |
57 |
48 |
43 |
10 |
7.0 |
57 |
10 |
1.0.0 |
1.0 |
8.0.0 |
raw |
41 |
12 |
34 |
28 |
9 |
41 |
34 |
28 |
9 |
4.0 |
41 |
9 |
1.0.0 |
1.0 |
4.0.0 |
repeat |
41 |
12 |
24 |
28 |
9 |
36 |
24 |
28 |
9 |
3.0 |
41 |
9 |
1.0.0 |
1.0 |
4.0.0 |
replace |
1 |
12 |
1 |
4 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
replaceAll |
85 |
85 |
77 |
71 |
13.1 |
85 |
79 |
60 |
13.4 |
14.0 |
85 |
13.4 |
1.0.0 |
1.2 |
15.0.0 |
search |
1 |
12 |
1 |
4 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
slice |
1 |
12 |
1 |
4 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
small |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
split |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
startsWith |
41 |
12 |
17 |
28 |
9 |
36 |
17 |
24 |
9 |
3.0 |
37 |
9 |
1.0.0 |
1.0 |
4.0.0 |
strike |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
sub |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
substr |
1 |
12 |
1 |
4 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
substring |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
sup |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
toLocaleLowerCase |
1 |
12 |
1 |
4 |
1.3 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
toLocaleUpperCase |
1 |
12 |
1 |
4 |
1.3 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
toLowerCase |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
toString |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
toUpperCase |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
toWellFormed |
111 |
111 |
119 |
97 |
16.4 |
111 |
119 |
75 |
16.4 |
22.0 |
111 |
16.4 |
1.0.0 |
1.32 |
20.0.0 |
trim |
4 |
12 |
3.5 |
10.5 |
5 |
18 |
4 |
11 |
5 |
1.0 |
4.4 |
5 |
1.0.0 |
1.0 |
0.10.0 |
trimEnd |
66
4
|
79
12
|
61
3.5
|
53
15
|
12 |
66
18
|
61
4
|
47
14
|
12 |
9.0
1.0
|
66
4.4
|
12 |
1.0.0 |
1.0
1.0
|
10.0.0
0.12.0
|
trimStart |
66
4
|
79
12
|
61
3.5
|
53
15
|
12 |
66
18
|
61
4
|
47
14
|
12 |
9.0
1.0
|
66
4.4
|
12 |
1.0.0 |
1.0
1.0
|
10.0.0
0.12.0
|
unicode_code_point_escapes |
1 |
12 |
40 |
4 |
1 |
18 |
40 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
valueOf |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
См. также
- Числа и строки руководство
RegExp
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String