String

Создание

a = 'my string'
b = new String(object) // синтаксис устарел и не используется
c = String(object)

Аргументы

string - Необязательный. Любая группа знаков Юникода.


Описание, примеры

Объекты String, как правило, создаются неявно с помощью строковых литералов.

Пример:
// кавычки любые - без разницы
var str = "string literal"

В строковых литералах можно использовать escape-последовательности для представления особых знаков, которые нельзя напрямую использовать в строках, например символа перевода строки или знаков Юникода. При компиляции сценария каждая escape-последовательность в строковом литерале преобразуется в знаки, которые она представляет.

Можно указать юникодный символ явным образом, через его код.

Пример:
var str = "\u1234"

Объекты String, заданные через кавычки (и называемые "примитивными" строками), немного отличаются от объектов String, созданных с помощью оператора new. Так, например, типом (typeof) данных объекта, созданного при помощи new, является 'object', а не 'string'. И такому объекту можно напрямую назначать дополнительные свойства и методы. В остальном - интерпретатор автоматически превращает примитивные строки в объекты.

Пример:
"12345".length // 5

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

Доступ к символам осуществляется при помощи метода String#charAt

return 'cat'.charAt(1); // возвратит "a"

Также существует отсутствующий в стандарте ECMA-262 способ - обращение к строке как к массиву:

var str = 'cat'
return str[1] // "a"

В отличие от языков C/PHP/и т.п., однажды созданную строку нельзя изменить: символы можно только считывать, но не менять.

Для изменения строковой переменной применяется присваивание измененной строки:

str = "строка"
str = str.charAt(4) + str.charAt(5) + str.charAt(6) // "ока"

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

Для сравнения строк используются обычные операторы < >.


Методы

split
Делит строку на массив, разбивая ее по указанной подстроке
substr
Возвращает подстроку по начальной позиции и длине. Не описан в стандарте языка
charCodeAt
Возвращает число, обозначающее значение символа в кодировке Unicode по указанной позиции
String.fromCharCode
Создает строку из указанных юникодных значений.
charAt
Возвращает символ на указанной позиции в строке
concat
Возвращает объединение двух или более строк
indexOf
Возвращает позицию, на которой внутри вызывающей строки находится первое искомое значение, начиная от fromIndex. Возвращает -1, если значение не найдено.
lastIndexOf
Возвращает последнюю позицию, на которой в вызывающей строке находится указанная подстрока, или -1, если такой позиции нет. Поиск идет назад, начиная от fromIndex
search
Возвращает позицию, на которой регулярное выражение совпадает с вызывающей строкой, и -1, если совпадений нет
match
Получить все совпадения с регулярным выражением
replace
Замещает совпадения с регулярным выражением на новую подстроку
slice
Возвращает участок строки
substring
Возвращает подстроку строки. Стандартный метод.
toLowerCase
Возвращает вызывающую строку, приведенную к нижнему регистру по правилам Unicode
toUpperCase
Возвращает вызывающую строку, приведенную к верхнему регистру по правилам Unicode
toLocaleLowerCase
Возвращает вызывающую строку, приведенную к нижнему регистру по правилам текущего окружения
toLocaleUpperCase
Возвращает вызывающую строку, приведенную к верхнему регистру по правилам текущего окружения
toString
Возвращает строку
valueOf
Возвращает элементарную строку для вызывающего объекта строки

Свойства

length
Длина строки

См. также