Строки в JavaScript

Определение строки

Строкой считается любая последовательность символов в пределах двойных или одинарных кавычек.

Для создания строки с кавычками, нужно их экранировать (обособить) с помощью символа обратный слэш \ или использовать два разных вида кавычек.

Помимо двойных и одинарных кавычек, экранизации подлежат и другие символы (escape последовательности), управляющие форматированием текста.

Символ Обозначение
\' одинарная кавычка
\'' двойная кавычка
\\ обратный слэш (не путать с // - знаком начала комментария)
\n новая строка (работает как кнопка Enter)
\r возврат каретки в начало строки (работает как кнопка Home)
\t табуляция (работает как кнопка Tab)
\b удаление символа (работает как кнопка Backspace)
\f печать с новой страницы (устаревшее)
\v вертикальная табуляция (устаревшее)
\a звуковой сигнал (устаревшее)
\xXX символ из Latin-1, где XX шестнадцатеричные цифры (например: \xAF - символ  '-')
\XXX символ из Latin-1, где XXX восьмеричные цифры от 1 до 377 (например: \300 - символ 'À')
\ucXXXX символ из Unicode, где XXXX шестнадцатеричные цифры (например: \uc454 - символ  '쑔')

В случае если строка достаточно длинная, то для более легкого чтения ее можно разбить на подстроки с помощью символа обратного слэша \, не нарушая при этом самой структуры строки.

Однако использование следующего приема для разбиения кода недопустимо.

Строка как объект

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

Приведение строки к типу объект в большинстве случаев не представляет ценности, более того, такое преобразование способствует замедлению выполнения кода и может привести к непредвиденным последствиям.

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

Строки как и другие литералы в JavaScript, строки можно сравнить двумя способами, с помощью слудующих операторов:

  • Оператор == - сравнение по значению
  • Оператор === - сравнение по значению и по типу данных

Перевод других типов данных в строку

Для того чтобы перевести в строку такие типы данных как integer (целое число), array (массив), boolean (логический тип), а также другие типы, нужно всего лишь сложить значение любого типа с пустой строкой.

Использование методов и свойств строк

Для манипулирования строками в Javascript как и во многих других языках программирования предусмотрена возможность использования методов(объектных функций) bold(), indexOf(), split(), ...   и свойств length, prototype, ... . Вызов методов и свойств осуществляется через оператор . (точка). Вызов объектных функций может быть осуществлен не однократно, образуя тем самым цепочки методов.

Применение методов и свойств к простым строковым литералам невозможно, поэтому если интерпретатор видит вызов метода из строки, то он автоматически преобразует ее в объект и делает вызов метода или свойства уже из строки - объекта.

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

Свойства строк

Свойство Описание
constructor возвращает функцию-конструктор строки
length возвращает длину (количество символов) строки
prototype позволяет добавить свойства и методы к объекту (если строка - объект)

Методы строк

Метод Описание
charAt() возвращает символ под указанным номером
charCodeAt() возвращает код Unicode символа под указанным номером
concat() соединяет строки в одну и возвращает ее как новую строку
fromCharCode() переводит код Unicode в символ
indexOf() возвращает номер первого искомого символа
lastIndexOf() возвращает номер последнего искомого символа
localeCompare() сравнивает очередность строк (сортировка по алфавиту)
match() ищет строки удовлетворяющие условию регулярного выражения
replace() заменяет часть строки на новое значение
search() возвращает первый номер символа искомой строки
slice() вырезает часть строки и возвращает ее как новую строку
split() разбивает строку на массив подстрок
substr() вырезает строку до определенной позиции
substring() вырезает строку с начальной и конечной позиций
toLocaleLowerCase() приводит строку к нижнему регистру, в соответствии с локальными настройками
toLocaleUpperCase() приводит строку к верхнему регистру в соответствии с локальными настройками
toLowerCase() приводит строку к нижнему регистру (строчные буквы)
toUpperCase() приводит строку к верхнему регистру (заглавные буквы)
toString() возвращает значение строки - объекта
trim() удаляет пробелы в начале и конце строки
valueOf() возвращает простое значение строки - объекта