JavaScript Строки
Строки JavaScript используются для хранения и обработки текста.
Строки JavaScript
Строка может хранить последовательность символов, например "John Doe".
Строка может состоять из любых символов, заключённых в кавычки. Вы можете использовать одинарные или двойные кавычки:
Пример
var carname = 'Volvo XC60';
Вы можете использовать позиции индексов для доступа к каждому символу в строке:
Пример
Индексация строк начинается с 0, то есть значение индекса первого символа —[0], второго —[1], и так далее.
Пример
let letter = name[2];
document.getElementById("demo").innerHTML = letter;
Попробуйте сами »
Вы можете использовать кавычки внутри строки, если они не совпадают с кавычками, окружающими строку:
Пример
var answer = "He is called 'Johnny'";
var answer = 'He is called "Johnny"';
Вы также можете использовать экранирующие символы, чтобы добавить кавычки внутри строки:
Длина String
Встроенное свойствоlengthможно использовать для вычисления длины строки:
Специальные символы
В JavaScript строки записываются в одинарных или двойных кавычках.
Из-за этого JavaScript не может разобрать следующий пример:
Строка "We are the so-called " усечена.
Как решить проблему выше? Вы можете использовать обратную косую черту (\) для экранирования двойных кавычек в строке "Vikings", как показано ниже:
Обратная косая черта — этоэкранирующий символ. Экранирующий символ преобразует специальные символы в символы строки:
Экранирующий символ (\) можно использовать для экранирования апострофов, переводов строк, кавычек и других специальных символов.
В таблице ниже перечислены специальные символы, которые можно экранировать с помощью экранирующих символов в строках:
| Code | Вывод |
|---|---|
| \' | Одинарная кавычка |
| \" | Двойная кавычка |
| \\ | Обратная косая черта |
| \n | Перевод строки |
| \r | Возврат каретки |
| \t | Вкладка |
| \b | Возврат на один символ |
| \f | Подача страницы |
Строки могут быть объектами
Обычно строки в JavaScript — это примитивные значения, создаваемые с помощью литералов:var firstName = "John"
Но мы также можем определить строку как объект с помощью ключевого слова new:var firstName = new String("John")
Пример
var y = new String("John");
typeof x // возвращает String
typeof y // возвращает Object
Попробуйте сами »
![]() |
Не создавайте объекты String. Это замедляет скорость выполнения и может вызвать другие побочные эффекты: |
|---|
Пример
var y = new String("John");
(x === y) // результат false, потому что x — строка, а y — объект
Попробуйте сами »
=== означает абсолютное равенство, то есть и тип данных, и значение должны быть равны.
Свойства и методы строк
Примитивные строковые значения, такие как "John", не имеют свойств или методов (потому что они не являются объектами).
Примитивные значения могут использовать свойства и методы JavaScript, потому что JavaScript может рассматривать примитивные значения как объекты при доступе к методам и свойствам.
Мы познакомимся с методами строк в следующей главе.
Свойства String
| Свойство | Описание |
|---|---|
| constructor | Возвращает функцию, создавшую свойство строки |
| length | Возвращает длину строки |
| prototype | Позволяет добавлять свойства и методы к объектам |
Методы String
Дополнительные примеры методов см.:Объект String。
| Метод | Описание |
|---|---|
| charAt() | Возвращает позицию указанного символа по указанному индексу |
| charCodeAt() | Возвращает значение Unicode символа по указанному индексу |
| concat() | Соединяет две или более строк и возвращает объединённую строку |
| fromCharCode() | Преобразует Unicode в строку |
| indexOf() | Возвращает позицию первого вхождения указанного символа в строке |
| lastIndexOf() | Возвращает позицию последнего вхождения указанного символа в строке |
| localeCompare() | Сравнивает две строки в порядке, зависящем от локали |
| match() | Находит одно или несколько совпадений регулярного выражения |
| replace() | Заменяет подстроки, соответствующие регулярному выражению |
| search() | Извлекает значение, соответствующее регулярному выражению |
| slice() | Извлекает часть строки и возвращает извлечённую часть в новой строке |
| split() | Разделяет строку на массив подстрок |
| substr() | Извлекает указанное количество символов начиная с начального индекса в строке |
| substring() | Извлекает символы между двумя указанными индексами в строке |
| toLocaleLowerCase() | Преобразует строку в нижний регистр в соответствии с локалью хоста; только в некоторых языках (например, турецком) есть сопоставления регистра, зависящие от локали |
| toLocaleUpperCase() | Преобразует строку в верхний регистр в соответствии с локалью хоста; только в нескольких языках (таких как турецкий) есть зависящие от локали правила преобразования регистра |
| toLowerCase() | Преобразует строку в нижний регистр |
| toString() | Возвращает значение строкового объекта |
| toUpperCase() | Преобразует строку в верхний регистр |
| trim() | Удаляет пробельные символы с обоих концов строки |
| valueOf() | Возвращает примитивное значение строкового объекта |
