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 Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
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 Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
big
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
blink
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
bold
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
charAtChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
charCodeAtChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 4Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
codePointAtChrome Полная поддержка 41Edge Полная поддержка 12Firefox Полная поддержка 29IE Нет поддержки НетOpera Полная поддержка 28Safari Полная поддержка 10WebView Android Полная поддержка ДаChrome Android Полная поддержка 41Firefox Android Полная поддержка 29Opera Android Полная поддержка ДаSafari iOS Полная поддержка 10Samsung Internet Android Полная поддержка Даnodejs Полная поддержка 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 Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
endsWithChrome Полная поддержка 41Edge Полная поддержка 12Firefox Полная поддержка 17IE Нет поддержки НетOpera Полная поддержка 28Safari Полная поддержка 9WebView Android Полная поддержка ДаChrome Android Полная поддержка 36Firefox Android Полная поддержка 17Opera Android Полная поддержка ДаSafari 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 Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
fontcolor
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
fontsize
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
fromCharCodeChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 4Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
fromCodePointChrome Полная поддержка 41Edge Полная поддержка 12Firefox Полная поддержка 29IE Нет поддержки НетOpera Полная поддержка 28Safari Полная поддержка 10WebView Android Полная поддержка ДаChrome Android Полная поддержка 41Firefox Android Полная поддержка 29Opera Android Полная поддержка ДаSafari iOS Полная поддержка 10Samsung Internet Android Полная поддержка Даnodejs Полная поддержка 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 Полная поддержка ДаSafari Полная поддержка 9WebView Android Полная поддержка ДаChrome Android Полная поддержка 41Firefox Android Полная поддержка 40
Полная поддержка 40
Нет поддержки 18 — 48
Альтернативное имя
Альтернативное имя Использует нестандартное имя: contains
Opera Android Полная поддержка ДаSafari iOS Полная поддержка 9Samsung Internet Android Полная поддержка Даnodejs Полная поддержка 4.0.0
indexOfChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
italics
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
lastIndexOfChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 6Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
lengthChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
link
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
localeCompareChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 5.5Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
localeCompare.localesChrome Полная поддержка 24Edge Полная поддержка 12Firefox Полная поддержка 29IE Полная поддержка 11Opera Полная поддержка 15Safari Полная поддержка 10WebView Android Нет поддержки НетChrome Android Полная поддержка 26Firefox Android Нет поддержки НетOpera Android Нет поддержки НетSafari iOS Полная поддержка 10Samsung Internet Android Полная поддержка 1.5nodejs ?
localeCompare.optionsChrome Полная поддержка 24Edge Полная поддержка 12Firefox Полная поддержка 29IE Полная поддержка 11Opera Полная поддержка 15Safari Полная поддержка 10WebView Android Нет поддержки НетChrome Android Полная поддержка 26Firefox Android Нет поддержки НетOpera Android Нет поддержки НетSafari iOS Полная поддержка 10Samsung Internet Android Полная поддержка 1.5nodejs ?
matchChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 4Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
match.flags
УстаревшаяНестандартная
Chrome Нет поддержки НетEdge Нет поддержки НетFirefox Нет поддержки 1 — 49IE Нет поддержки НетOpera Нет поддержки НетSafari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Нет поддержки НетFirefox Android Нет поддержки 4 — 49Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Нет поддержки Нетnodejs Нет поддержки Нет
matchAllChrome Полная поддержка 73Edge Нет поддержки НетFirefox Полная поддержка 67IE Нет поддержки НетOpera Полная поддержка 60Safari Нет поддержки НетWebView Android Полная поддержка 73Chrome Android Полная поддержка 73Firefox Android Полная поддержка 67Opera Android Полная поддержка ДаSafari iOS Нет поддержки НетSamsung Internet Android Нет поддержки Нетnodejs Полная поддержка 12.0.0
normalizeChrome Полная поддержка 34Edge Полная поддержка 12Firefox Полная поддержка 31IE Нет поддержки НетOpera Полная поддержка ДаSafari Полная поддержка 10WebView Android Нет поддержки НетChrome Android Полная поддержка 34Firefox Android Полная поддержка 31Opera Android Полная поддержка ДаSafari 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.
prototypeChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
quote
Устаревшая
Chrome Нет поддержки НетEdge Нет поддержки НетFirefox Нет поддержки 1 — 37IE Нет поддержки НетOpera Нет поддержки НетSafari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Нет поддержки НетFirefox Android Нет поддержки 4 — 37Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Нет поддержки Нетnodejs Нет поддержки Нет
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 Полная поддержка ДаSafari Полная поддержка 9WebView Android Нет поддержки НетChrome Android Полная поддержка 36Firefox Android Полная поддержка 24Opera Android Полная поддержка ДаSafari 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 Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
replace.flags
УстаревшаяНестандартная
Chrome Нет поддержки НетEdge Нет поддержки НетFirefox Нет поддержки 1 — 49IE Нет поддержки НетOpera Нет поддержки НетSafari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Нет поддержки НетFirefox Android Нет поддержки 4 — 49Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Нет поддержки Нетnodejs Нет поддержки Нет
searchChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 4Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
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 Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
small
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
splitChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 4Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
startsWithChrome Полная поддержка 41Edge Полная поддержка 12Firefox Полная поддержка 17IE Нет поддержки НетOpera Полная поддержка 28Safari Полная поддержка 9WebView Android Полная поддержка ДаChrome Android Полная поддержка 36Firefox Android Полная поддержка 17Opera Android Полная поддержка ДаSafari 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 Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
sub
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
substr
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 4Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
substringChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
sup
Устаревшая
Chrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
toLocaleLowerCaseChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 5.5Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
toLocaleLowerCase.localeChrome Полная поддержка 58Edge Полная поддержка 12Firefox Полная поддержка 55IE Полная поддержка 6Opera Полная поддержка 45Safari ? WebView Android Полная поддержка 58Chrome Android Полная поддержка 58Firefox Android Полная поддержка 55Opera Android Полная поддержка 43Safari iOS ? Samsung Internet Android Полная поддержка 7.0nodejs ?
toLocaleUpperCaseChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 5.5Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
toLocaleUpperCase.localeChrome Полная поддержка 58Edge Полная поддержка 12Firefox Полная поддержка 55IE Полная поддержка 6Opera Полная поддержка 45Safari ? WebView Android Полная поддержка 58Chrome Android Полная поддержка 58Firefox Android Полная поддержка 55Opera Android Полная поддержка 42Safari iOS ? Samsung Internet Android Полная поддержка 7.0nodejs ?
toLowerCaseChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
toSource
Нестандартная
Chrome Нет поддержки НетEdge Нет поддержки НетFirefox Полная поддержка 1IE Нет поддержки НетOpera Нет поддержки НетSafari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Нет поддержки НетFirefox Android Полная поддержка 4Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Нет поддержки Нетnodejs Нет поддержки Нет
toStringChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
toUpperCaseChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 3Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
trimChrome Полная поддержка 4Edge Полная поддержка 12Firefox Полная поддержка 3.5IE Полная поддержка 9Opera Полная поддержка 10.5Safari Полная поддержка 5WebView Android Полная поддержка ≤37Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка 11Safari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
trimEndChrome Полная поддержка 66
Полная поддержка 66
Полная поддержка 4
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimRight
Edge Полная поддержка 12
Альтернативное имя
Полная поддержка 12
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimRight
Firefox Полная поддержка 61
Полная поддержка 61
Полная поддержка 3.5
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimRight
IE Нет поддержки НетOpera Полная поддержка 53
Полная поддержка 53
Полная поддержка Да
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimRight
Safari Полная поддержка 12WebView Android Полная поддержка 66
Полная поддержка 66
Полная поддержка ≤37
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimRight
Chrome Android Полная поддержка 66
Полная поддержка 66
Полная поддержка 18
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimRight
Firefox Android Полная поддержка 61
Полная поддержка 61
Полная поддержка 4
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimRight
Opera Android Полная поддержка 47
Полная поддержка 47
Полная поддержка Да
Альтернативное имя
Альтернативное имя Использует нестандартное имя: 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
Полная поддержка Да
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimLeft
Safari Полная поддержка 12WebView Android Полная поддержка 66
Полная поддержка 66
Полная поддержка ≤37
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimLeft
Chrome Android Полная поддержка 66
Полная поддержка 66
Полная поддержка 18
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimLeft
Firefox Android Полная поддержка 61
Полная поддержка 61
Полная поддержка 4
Альтернативное имя
Альтернативное имя Использует нестандартное имя: trimLeft
Opera Android Полная поддержка 47
Полная поддержка 47
Полная поддержка Да
Альтернативное имя
Альтернативное имя Использует нестандартное имя: 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 Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 40Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
valueOfChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка 1IE Полная поддержка 4Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка 1Chrome Android Полная поддержка 18Firefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка 1.0nodejs Полная поддержка Да
@@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 Нет поддержки НетWebView 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 Нет поддержки НетSamsung Internet Android Полная поддержка 3.0nodejs Полная поддержка 0.12

Легенда

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

 

 

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