Объекты String
, как правило, создаются неявно с помощью строковых литералов.
var str = "string literal" |
В строковых литералах можно использовать escape-последовательности для
представления особых знаков, которые нельзя напрямую использовать в
строках, например символа перевода строки или знаков Юникода. При
компиляции сценария каждая escape-последовательность в строковом
литерале преобразуется в знаки, которые она представляет.
Можно указать юникодный символ явным образом, через его код.
Объекты String
, заданные через кавычки (и называемые "примитивными" строками), немного отличаются от объектов String
, созданных с помощью оператора new. Так, например, типом (typeof) данных объекта, созданного при помощи new
, является 'object'
, а не 'string'
.
И такому объекту можно напрямую назначать дополнительные свойства и
методы. В остальном - интерпретатор автоматически превращает примитивные
строки в объекты.
Доступ к символам
Доступ к символам осуществляется при помощи метода String#charAt
Также существует отсутствующий в стандарте ECMA-262 способ - обращение к строке как к массиву:
В отличие от языков C/PHP/и т.п., однажды созданную строку нельзя изменить: символы можно только считывать, но не менять.
Для изменения строковой переменной применяется присваивание измененной строки:
str = str.charAt(4) + str.charAt(5) + str.charAt(6) |
Сравнение строк
Для сравнения строк используются обычные операторы < >.