String

В процессе перевода.

Глобальный объект String является конструктором строк, или, последовательностей символов.

Синтаксис

Строковые литералы могут быть следующих форм:

'строка текста'
"строка текста"
"中文 español English हिन्दी العربية português বাংলা русский 日本語 ਪੰਜਾਬੀ 한국어 தமிழ்"

Кроме регулярных печатных символов можно использовать специальные символы, которые можно закодировать, используя нотацию escape-последовательностей:

Код Вывод
\0 нулевой символ (символ NUL)
\' одинарная кавычка
\" двойная кавычка
\\ обратный слэш
\n новая строка
\r возврат каретки
\v вертикальная табуляция
\t табуляция
\b забой
\f подача страницы
\uXXXX кодовая точка Юникода
\xXX символ из кодировки Latin-1

Либо можно использовать глобальный объект String напрямую:

String(thing)
new String(thing)

Параметры

thing
Всё, что может быть преобразовано в строку.

Описание

Строки полезны для хранения данных, которые можно представить в текстовой форме. Некоторые из наиболее частых операций со строками — это проверка их длины, построение строки с помощью операций строковой конкатенации + и +=, проверка на существование или местоположение подстрок с помощью метода indexOf(), либо извлечение подстрок с помощью метода substring().

Доступ к символам

Существует два способа добраться до конкретного символа в строке. В первом способе используется метод charAt():

return 'кот'.charAt(1); // вернёт "о"

Другим способом (введённым в ECMAScript 5) является рассмотрение строки как массивоподобного объекта, в котором символы имеют соответствующие числовые индексы:

return 'кот'[1]; // вернёт "о"

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

Сравнение строк

Разработчики на C имеют для сравнения строк функцию strcmp(). В JavaScript вы просто используете операторы меньше и больше:

var a = 'a';
var b = 'b';
if (a < b) { // true
  print(a + ' меньше чем ' + b);
} else if (a > b) {
  print(a + ' больше чем ' + b);
} else {
  print(a + ' и ' + b + ' равны.');
}

Подобный результат также может быть достигнут путём использования метода localeCompare(), имеющегося у всех экземпляров String.

Разница между строковыми примитивами и объектами String

Обратите внимание, что JavaScript различает объекты String и значения строкового примитива (то же самое верно и для объектов Boolean и Number).

Строковые литералы (обозначаемые двойными или одинарными кавычками) и строки, возвращённые вызовом String в неконструкторном контексте (то есть, без использования ключевого слова new) являются строковыми примитивами. JavaScript автоматически преобразует примитивы в объекты String, так что на строковых примитивах возможно использовать методы объекта String. В контекстах, когда на примитивной строке вызывается метод или происходит поиск свойства, JavaScript автоматически оборачивает строковый примитив объектом и вызывает на нём метод или ищет в нём свойство.

var s_prim = 'foo';
var s_obj = new String(s_prim);

console.log(typeof s_prim); // выведет 'string'
console.log(typeof s_obj);  // выведет 'object'

Строковые примитивы и объекты String также дают разные результаты при использовании глобальной функции eval(). Примитивы, передаваемые в eval(), трактуются как исходный код; объекты же String трактуются так же, как и все остальные объекты, а именно: возвращается сам объект. Например:

var s1 = '2 + 2';             // создаёт строковый примитив
var s2 = new String('2 + 2'); // создаёт объект String
console.log(eval(s1));        // выведет число 4
console.log(eval(s2));        // выведет строку '2 + 2'

По этим причинам код может сломаться, если он получает объекты String, а ожидает строковые примитивы, хотя в общем случае вам не нужно беспокоиться о различиях между ними.

Объект String также всегда может быть преобразован в его примитивный аналог при помощи метода valueOf().

console.log(eval(s2.valueOf())); // выведет число 4
Примечание: для того, чтобы узнать больше о другом возможном подходе к строкам в JavaScript, прочитайте статью о StringView — C-подобном представлении строк на основе типизирванных массивов.

Свойства

String.prototype
Позволяет добавлять свойства к объекту String.
Свойства, унаследованные из Function:

Методы

String.fromCharCode()
Возвращает строку, созданную из указанной последовательности значений Юникода.
String.fromCodePoint()
Возвращает строку, созданную из указанной последовательности кодовых точек Юникода.
String.raw()
Возвращает строку, созданную из сырой шаблонной строки.
Методы, унаследованные из Function:

Общие методы объекта String

Методы экземпляров String также доступны в Firefox как часть JavaScript 1.6 (который не является частью стандарта ECMAScript) на объекте String, что позволяет применять эти методы к любому объекту:

var num = 15;
console.log(String.replace(num, /5/, '2'));

Общие методы также доступны для объекта Array.

Следующая прослойка позволяет использовать их во всех браузерах:

/*globals define*/
// Предполагаем, что все требуемые методы экземпляров String уже присутствуют
// (для них так же можно использовать полифиллы, если их нет)
(function() {
  'use strict';

  var i,
    // Мы могли построить массив методов следующим образом, однако метод
    //   getOwnPropertyNames() нельзя реализовать на JavaScript:
    // Object.getOwnPropertyNames(String).filter(function(methodName) {
    //   return typeof String[methodName] === 'function';
    // });
    methods = [
      'quote', 'substring', 'toLowerCase', 'toUpperCase', 'charAt',
      'charCodeAt', 'indexOf', 'lastIndexOf', 'startsWith', 'endsWith',
      'trim', 'trimLeft', 'trimRight', 'toLocaleLowerCase',
      'toLocaleUpperCase', 'localeCompare', 'match', 'search',
      'replace', 'split', 'substr', 'concat', 'slice'
    ],
    methodCount = methods.length,
    assignStringGeneric = function(methodName) {
      var method = String.prototype[methodName];
      String[methodName] = function(arg1) {
        return method.apply(arg1, Array.prototype.slice.call(arguments, 1));
      };
    };

  for (i = 0; i < methodCount; i++) {
    assignStringGeneric(methods[i]);
  }
}());

Экземпляры объекта String

Свойства

String.prototype.constructor
Определяет функцию, создающую прототип этого объекта.
String.prototype.length
Отражает длину строки.
N
Используется для доступа к символу в позиции N, где N — это целое число между 0 и длиной строки length минус один. Эти свойства доступны только для чтения.

Методы

Методы, не относящиеся к HTML

String.prototype.charAt()
Возвращает символ по указанному индексу.
String.prototype.charCodeAt()
Возвращает число, представляющее значение символа в Юникоде по указанному индексу.
String.prototype.codePointAt()
Возвращает неотрицательное целое число, представляющее закодированную в UTF-16 кодовую точку значения по указанной позиции.
String.prototype.concat()
Объединяет текст двух строк и возвращает новую строку.
String.prototype.includes()
Определяет, находится ли строка внутри другой строки.
String.prototype.endsWith()
Определяет, заканчивается ли строка символами другой строки.
String.prototype.indexOf()
Возвращает индекс первого вхождения указанного значения в объекте String, на котором был вызван этот метод, или -1, если вхождений нет.
String.prototype.lastIndexOf()
Возвращает индекс последнего вхождения указанного значения в объекте String, на котором был вызван этот метод, или -1, если вхождений нет.
String.prototype.localeCompare()
Возвращает число, указывающее, находится ли образцовая строка до, после или на том же самом месте, что и указанная строка в порядке сортировки.
String.prototype.match()
Используется для сопоставления строке регулярного выражения.
String.prototype.matchAll()
Возвращает итератор по всем результатам при сопоставлении строки с регулярным выражением.
String.prototype.normalize()
Возвращает форму нормализации Юникода для строкового значения.
String.prototype.quote()
Оборачивает строку в двойные кавычки (""").
String.prototype.repeat()
Возвращает строку. состоящую из элементов объекта, повторённых указанное количество раз.
String.prototype.replace()
Используется для сопоставления строке регулярного выражения и для замены совпавшей подстроки на новую подстроку.
String.prototype.search()
Выполняет поиск совпадения регулярного выражения со строкой.
String.prototype.slice()
Извлекает часть строки и возвращает новую строку.
String.prototype.split()
Разбивает объект String на массив строк, разделёных указанной строкой на подстроки.
String.prototype.startsWith()
Определяет, начинается ли строка символами другой строки.
String.prototype.substr()
Возвращает указанное количество символов в строке, начинающихся с указанной позиции.
String.prototype.substring()
Возвращает символы в строке между двумя индексами.
String.prototype.toLocaleLowerCase()
Приводит символы в строке к нижнему регистру согласно текущей локали. Для большинства языков, метод делает то же самое, что и метод toLowerCase().
String.prototype.toLocaleUpperCase()
Приводит символы в строке к верхнему регистру согласно текущей локали. Для большинства языков, метод делает то же самое, что и метод toUpperCase().
String.prototype.toLowerCase()
Возвращает строковое значение с символами в нижнем регистре.
String.prototype.toSource()
Возвращает литерал объекта, представляющий указанный объект; вы можете использовать это значениедля создания нового объекта. Переопределяет метод Object.prototype.toSource().
String.prototype.toString()
Возвращает строковое представление указаного объекта. Переопределяет метод Object.prototype.toString().
String.prototype.toUpperCase()
Возвращает строковое значение с символами в верхнем регистре.
String.prototype.trim()
Обрезает пробельные символы в начале и в конце строки. Часть стандарта ECMAScript 5.
String.prototype.trimLeft()
Обрезает пробельные символы с левой стороны строки.
String.prototype.trimRight()
Обрезает пробельные символы с правой стороны строки.
String.prototype.valueOf()
Возвращает примитивное значение указанного объекта. Переопределяет метод Object.prototype.valueOf().
String.prototype[@@iterator]()
Возвращает новый объект итератора Iterator, который итерируется по кодовым точкам строки и возвращает каждую кодовую точку в виде строкового значения.

Методы-обёртки HTML

Эти методы имеют ограниченное применение, поскольку они представляют только ограниченное подмножество доступных тегов и атрибутов HTML.

String.prototype.anchor()
<a name="имя"> (цель гипертекста)
String.prototype.big()
<big>
String.prototype.blink()
<blink>
String.prototype.bold()
<b>
String.prototype.fixed()
<tt>
String.prototype.fontcolor()
<font color="цвет">
String.prototype.fontsize()
<font 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>

Примеры

Пример: преобразование в строку

Объект String можно использовать как «безопасную» альтернативу методу toString(), так как хотя он обычно и вызывает соответствующий метод toString(), он также работает и для значений null и undefined. Например:

var outputStrings = [];
for (var i = 0, n = inputValues.length; i < n; ++i) {
  outputStrings.push(String(inputValues[i]));
}

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

Спецификация Статус Комментарии
ECMAScript 1-е издание. Стандарт Изначальное определение.
ECMAScript 5.1 (ECMA-262)
Определение 'String' в этой спецификации.
Стандарт
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'String' в этой спецификации.
Стандарт

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

Update compatibility data on GitHub
КомпьютерыМобильныеServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung InternetNode.js
StringChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
String() constructorChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
anchor
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1
Замечания
Полная поддержка 1
Замечания
Замечания Starting with version 17, the quotation mark (") is replaced by its HTML reference character (") in strings supplied for the name parameter.
IE Нет поддержки НетOpera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
big
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
blink
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
bold
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
charAtChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
charCodeAtChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 4Opera Полная поддержка 4Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
codePointAtChrome Полная поддержка 41Edge Полная поддержка 12Firefox Полная поддержка 29IE Нет поддержки НетOpera Полная поддержка 28Safari Полная поддержка 10WebView Android Полная поддержка 41Chrome Android Полная поддержка 41Firefox Android Полная поддержка 29Opera Android Полная поддержка 28Safari iOS Полная поддержка 10Samsung Internet Android Полная поддержка 4.0nodejs Полная поддержка 4.0.0
Полная поддержка 4.0.0
Полная поддержка 0.12
Отключено
Отключено From version 0.12: this feature is behind the --harmony runtime flag.
concatChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 4Opera Полная поддержка 4Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
endsWithChrome Полная поддержка 41Edge Полная поддержка 12Firefox Полная поддержка 17IE Нет поддержки НетOpera Полная поддержка 28Safari Полная поддержка 9WebView Android Полная поддержка ≤37Chrome Android Полная поддержка 36Firefox Android Полная поддержка 17Opera Android Полная поддержка 24Safari iOS Полная поддержка 9Samsung Internet Android Полная поддержка 3.0nodejs Полная поддержка 4.0.0
Полная поддержка 4.0.0
Полная поддержка 0.12
Отключено
Отключено From version 0.12: this feature is behind the --harmony runtime flag.
fixed
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
fontcolor
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
fontsize
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
fromCharCodeChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 4Opera Полная поддержка 4Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
fromCodePointChrome Полная поддержка 41Edge Полная поддержка 12Firefox Полная поддержка 29IE Нет поддержки НетOpera Полная поддержка 28Safari Полная поддержка 10WebView Android Полная поддержка 41Chrome Android Полная поддержка 41Firefox Android Полная поддержка 29Opera Android Полная поддержка 28Safari iOS Полная поддержка 10Samsung Internet Android Полная поддержка 4.0nodejs Полная поддержка 4.0.0
Полная поддержка 4.0.0
Полная поддержка 0.12
Отключено
Отключено From version 0.12: this feature is behind the --harmony runtime flag.
includesChrome Полная поддержка 41Edge Полная поддержка 12Firefox Полная поддержка 40
Полная поддержка 40
Нет поддержки 18 — 48
Альтернативное имя
Альтернативное имя Использует нестандартное имя: contains
IE Нет поддержки НетOpera Полная поддержка 28Safari Полная поддержка 9WebView Android Полная поддержка 41Chrome Android Полная поддержка 41Firefox Android Полная поддержка 40
Полная поддержка 40
Нет поддержки 18 — 48
Альтернативное имя
Альтернативное имя Использует нестандартное имя: contains
Opera Android Полная поддержка 28Safari iOS Полная поддержка 9Samsung Internet Android Полная поддержка 4.0nodejs Полная поддержка 4.0.0
indexOfChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
italics
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
lastIndexOfChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 6Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
lengthChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
link
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
localeCompareChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 5.5Opera Полная поддержка 7Safari Полная поддержка 3WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
localeCompare.localesChrome Полная поддержка 24Edge Полная поддержка 12Firefox Полная поддержка 29IE Полная поддержка 11Opera Полная поддержка 15Safari Полная поддержка 10WebView Android Нет поддержки НетChrome Android Полная поддержка 26Firefox Android Нет поддержки НетOpera Android Нет поддержки НетSafari iOS Полная поддержка 10Samsung Internet Android Полная поддержка 1.5nodejs Полная поддержка 13.0.0
Полная поддержка 13.0.0
Частичная поддержка 0.12
Замечания
Замечания Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the function silently falls back to en-US. To make full ICU (locale) data available for versions prior to 13, see Node.js documentation on the --with-intl option and how to provide the data.
localeCompare.optionsChrome Полная поддержка 24Edge Полная поддержка 12Firefox Полная поддержка 29IE Полная поддержка 11Opera Полная поддержка 15Safari Полная поддержка 10WebView Android Нет поддержки НетChrome Android Полная поддержка 26Firefox Android Нет поддержки НетOpera Android Нет поддержки НетSafari iOS Полная поддержка 10Samsung Internet Android Полная поддержка 1.5nodejs Полная поддержка 0.12
matchChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 4Opera Полная поддержка 4Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
matchAllChrome Полная поддержка 73Edge Полная поддержка 79Firefox Полная поддержка 67IE Нет поддержки НетOpera Полная поддержка 60Safari Полная поддержка 13WebView Android Полная поддержка 73Chrome Android Полная поддержка 73Firefox Android Полная поддержка 67Opera Android Полная поддержка 52Safari iOS Полная поддержка 13Samsung Internet Android Нет поддержки Нетnodejs Полная поддержка 12.0.0
normalizeChrome Полная поддержка 34Edge Полная поддержка 12Firefox Полная поддержка 31IE Нет поддержки НетOpera Полная поддержка 21Safari Полная поддержка 10WebView Android Нет поддержки НетChrome Android Полная поддержка 34Firefox Android Полная поддержка 31Opera Android Полная поддержка 21Safari iOS Полная поддержка 10Samsung Internet Android Полная поддержка 2.0nodejs Полная поддержка 0.12
padEndChrome Полная поддержка 57Edge Полная поддержка 15Firefox Полная поддержка 48IE Нет поддержки НетOpera Полная поддержка 44Safari Полная поддержка 10WebView Android Полная поддержка 57Chrome Android Полная поддержка 57Firefox Android Полная поддержка 48Opera Android Полная поддержка 43Safari iOS Полная поддержка 10Samsung Internet Android Полная поддержка 7.0nodejs Полная поддержка 8.0.0
Полная поддержка 8.0.0
Полная поддержка 7.0.0
Отключено
Отключено From version 7.0.0: this feature is behind the --harmony runtime flag.
padStartChrome Полная поддержка 57Edge Полная поддержка 15Firefox Полная поддержка 48IE Нет поддержки НетOpera Полная поддержка 44Safari Полная поддержка 10WebView Android Полная поддержка 57Chrome Android Полная поддержка 57Firefox Android Полная поддержка 48Opera Android Полная поддержка 43Safari iOS Полная поддержка 10Samsung Internet Android Полная поддержка 7.0nodejs Полная поддержка 8.0.0
Полная поддержка 8.0.0
Полная поддержка 7.0.0
Отключено
Отключено From version 7.0.0: this feature is behind the --harmony runtime flag.
rawChrome Полная поддержка 41Edge Полная поддержка 12Firefox Полная поддержка 34IE Нет поддержки НетOpera Нет поддержки НетSafari Полная поддержка 10WebView Android Нет поддержки НетChrome Android Полная поддержка 41Firefox Android Полная поддержка 34Opera Android Нет поддержки НетSafari iOS Полная поддержка 10Samsung Internet Android Полная поддержка 4.0nodejs Полная поддержка 4.0.0
repeatChrome Полная поддержка 41Edge Полная поддержка 12Firefox Полная поддержка 24IE Нет поддержки НетOpera Полная поддержка 28Safari Полная поддержка 9WebView Android Нет поддержки НетChrome Android Полная поддержка 36Firefox Android Полная поддержка 24Opera Android Полная поддержка 28Safari iOS Полная поддержка 9Samsung Internet Android Полная поддержка 3.0nodejs Полная поддержка 4.0.0
Полная поддержка 4.0.0
Полная поддержка 0.12
Отключено
Отключено From version 0.12: this feature is behind the --harmony runtime flag.
replaceChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 4Opera Полная поддержка 4Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
replaceAllChrome Полная поддержка 85Edge Полная поддержка 85Firefox Полная поддержка 77IE Нет поддержки НетOpera Полная поддержка 71Safari Полная поддержка 13.1WebView Android Полная поддержка 85Chrome Android Полная поддержка 85Firefox Android Полная поддержка 79Opera Android Полная поддержка 60Safari iOS Полная поддержка 13.4Samsung Internet Android Нет поддержки Нетnodejs Полная поддержка 15.0.0
searchChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 4Opera Полная поддержка 4Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
search.flags
УстаревшаяНестандартная
Chrome Нет поддержки НетEdge Нет поддержки НетFirefox Нет поддержки 1 — 49IE Нет поддержки НетOpera Нет поддержки НетSafari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Нет поддержки НетFirefox Android Нет поддержки 4 — 49Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Нет поддержки Нетnodejs Нет поддержки Нет
sliceChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 4Opera Полная поддержка 4Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
small
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
splitChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 4Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
startsWithChrome Полная поддержка 41Edge Полная поддержка 12Firefox Полная поддержка 17IE Нет поддержки НетOpera Полная поддержка 28Safari Полная поддержка 9WebView Android Полная поддержка ≤37Chrome Android Полная поддержка 36Firefox Android Полная поддержка 17Opera Android Полная поддержка 24Safari iOS Полная поддержка 9Samsung Internet Android Полная поддержка 3.0nodejs Полная поддержка 4.0.0
Полная поддержка 4.0.0
Полная поддержка 0.12
Отключено
Отключено From version 0.12: this feature is behind the --harmony runtime flag.
strike
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
sub
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
substr
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 4Opera Полная поддержка 4Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
substringChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
sup
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
toLocaleLowerCaseChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 5.5Opera Полная поддержка 4Safari Полная поддержка 1.3WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
toLocaleLowerCase.localeChrome Полная поддержка 58Edge Полная поддержка 12Firefox Полная поддержка 55IE Полная поддержка 6Opera Полная поддержка 45Safari Полная поддержка 10WebView Android Полная поддержка 58Chrome Android Полная поддержка 58Firefox Android Полная поддержка 55Opera Android Полная поддержка 43Safari iOS Полная поддержка 10Samsung Internet Android Полная поддержка 7.0nodejs Полная поддержка 13.0.0
Полная поддержка 13.0.0
Частичная поддержка 0.12
Замечания
Замечания Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the function silently falls back to en-US. To make full ICU (locale) data available for versions prior to 13, see Node.js documentation on the --with-intl option and how to provide the data.
toLocaleUpperCaseChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 5.5Opera Полная поддержка 4Safari Полная поддержка 1.3WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
toLocaleUpperCase.localeChrome Полная поддержка 58Edge Полная поддержка 12Firefox Полная поддержка 55IE Полная поддержка 6Opera Полная поддержка 45Safari Полная поддержка 10WebView Android Полная поддержка 58Chrome Android Полная поддержка 58Firefox Android Полная поддержка 55Opera Android Полная поддержка 42Safari iOS Полная поддержка 10Samsung Internet Android Полная поддержка 7.0nodejs Полная поддержка 13.0.0
Полная поддержка 13.0.0
Частичная поддержка 0.12
Замечания
Замечания Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the function silently falls back to en-US. To make full ICU (locale) data available for versions prior to 13, see Node.js documentation on the --with-intl option and how to provide the data.
toLowerCaseChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
toSource
Нестандартная
Chrome Нет поддержки НетEdge Нет поддержки НетFirefox Нет поддержки 1 — 74
Замечания
Нет поддержки 1 — 74
Замечания
Замечания Starting in Firefox 74, toSource() is no longer available for use by web content. It is still allowed for internal and privileged code.
IE Нет поддержки НетOpera Нет поддержки НетSafari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Нет поддержки НетFirefox Android Полная поддержка 4Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Нет поддержки Нетnodejs Нет поддержки Нет
toStringChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
toUpperCaseChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
trimChrome Полная поддержка 4Edge Полная поддержка 12Firefox Полная поддержка 3.5IE Полная поддержка 9Opera Полная поддержка 10.5Safari Полная поддержка 5WebView Android Полная поддержка ≤37Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 11Safari iOS Полная поддержка 5Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
trimEndChrome Полная поддержка 66
Полная поддержка 66
Полная поддержка 4
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimRight
Edge Полная поддержка 12
Альтернативное имя
Полная поддержка 12
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimRight
Firefox Полная поддержка 61
Полная поддержка 61
Полная поддержка 3.5
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimRight
IE Нет поддержки НетOpera Полная поддержка 53
Полная поддержка 53
Полная поддержка 15
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimRight
Safari Полная поддержка 12WebView Android Полная поддержка 66
Полная поддержка 66
Полная поддержка ≤37
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimRight
Chrome Android Полная поддержка 66
Полная поддержка 66
Полная поддержка 18
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimRight
Firefox Android Полная поддержка 61
Полная поддержка 61
Полная поддержка 4
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimRight
Opera Android Полная поддержка 47
Полная поддержка 47
Полная поддержка 14
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimRight
Safari iOS Полная поддержка 12Samsung Internet Android Полная поддержка 9.0
Полная поддержка 9.0
Полная поддержка 1.0
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimRight
nodejs Полная поддержка 10.0.0
Полная поддержка 10.0.0
Полная поддержка 0.12
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimRight
trimStartChrome Полная поддержка 66
Полная поддержка 66
Полная поддержка 4
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimLeft
Edge Полная поддержка 12
Альтернативное имя
Полная поддержка 12
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimLeft
Firefox Полная поддержка 61
Полная поддержка 61
Полная поддержка 3.5
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimLeft
IE Нет поддержки НетOpera Полная поддержка 53
Полная поддержка 53
Полная поддержка 15
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimLeft
Safari Полная поддержка 12WebView Android Полная поддержка 66
Полная поддержка 66
Полная поддержка ≤37
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimLeft
Chrome Android Полная поддержка 66
Полная поддержка 66
Полная поддержка 18
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimLeft
Firefox Android Полная поддержка 61
Полная поддержка 61
Полная поддержка 4
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimLeft
Opera Android Полная поддержка 47
Полная поддержка 47
Полная поддержка 14
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimLeft
Safari iOS Полная поддержка 12Samsung Internet Android Полная поддержка 9.0
Полная поддержка 9.0
Полная поддержка 1.0
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimLeft
nodejs Полная поддержка 10.0.0
Полная поддержка 10.0.0
Полная поддержка 0.12
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimLeft
Unicode code point escapes \u{xxxxxx}Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 40IE Полная поддержка 4Opera Полная поддержка 4Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 40Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
valueOfChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 4Opera Полная поддержка 3Safari Полная поддержка 1WebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 10.1Safari iOS Полная поддержка 1Samsung Internet Android Полная поддержка 1.0nodejs Полная поддержка 0.1.100
@@iteratorChrome Полная поддержка 38Edge Полная поддержка 12Firefox Полная поддержка 36
Полная поддержка 36
Нет поддержки 27 — 36
Замечания Альтернативное имя
Замечания A placeholder property named @@iterator is used.
Альтернативное имя Использует нестандартное имя: @@iterator
Нет поддержки 17 — 27
Замечания Альтернативное имя
Замечания A placeholder property named iterator is used.
Альтернативное имя Использует нестандартное имя: iterator
IE Нет поддержки НетOpera Полная поддержка 25Safari Полная поддержка 9WebView Android Полная поддержка 38Chrome Android Полная поддержка 38Firefox Android Полная поддержка 36
Полная поддержка 36
Нет поддержки 27 — 36
Замечания Альтернативное имя
Замечания A placeholder property named @@iterator is used.
Альтернативное имя Использует нестандартное имя: @@iterator
Нет поддержки 17 — 27
Замечания Альтернативное имя
Замечания A placeholder property named iterator is used.
Альтернативное имя Использует нестандартное имя: iterator
Opera Android Полная поддержка 25Safari iOS Полная поддержка 9Samsung Internet Android Полная поддержка 3.0nodejs Полная поддержка 0.12

Легенда

Полная поддержка  
Полная поддержка
Нет поддержки  
Нет поддержки
Нестандартная. Ожидается плохая кросс-браузерная поддержка.
Нестандартная. Ожидается плохая кросс-браузерная поддержка.
Устаревшая. Не следует использовать в новых веб-сайтах
Устаревшая. Не следует использовать в новых веб-сайтах
Смотрите замечания реализации.
Смотрите замечания реализации.
Пользователь должен сам включить эту возможность.
Пользователь должен сам включить эту возможность.
Использует нестандартное имя.
Использует нестандартное имя.

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