JavaScript Строки


Строки JavaScript используются для хранения и обработки текста.


Строки JavaScript

Строка может хранить последовательность символов, например "John Doe".

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

Пример

var carname = "Volvo XC60";
var carname = 'Volvo XC60';

Вы можете использовать позиции индексов для доступа к каждому символу в строке:

Пример

var character = carname[7];

Индексация строк начинается с 0, то есть значение индекса первого символа —[0], второго —[1], и так далее.

Пример

const name = "EXAMPLE";
let letter = name[2];

document.getElementById("demo").innerHTML = letter;

Попробуйте сами »

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

Пример

var answer = "It's alright";
var answer = "He is called 'Johnny'";
var answer = 'He is called "Johnny"';

Вы также можете использовать экранирующие символы, чтобы добавить кавычки внутри строки:

Пример

var x = 'It\'s alright';
var y = "He is called \"Johnny\"";

Попробуйте сами »


Длина String

Встроенное свойствоlengthможно использовать для вычисления длины строки:

Пример

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;

Попробуйте сами »


Специальные символы

В JavaScript строки записываются в одинарных или двойных кавычках.

Из-за этого JavaScript не может разобрать следующий пример:

 "We are the so-called "Vikings" from the north."

Строка "We are the so-called " усечена.

Как решить проблему выше? Вы можете использовать обратную косую черту (\) для экранирования двойных кавычек в строке "Vikings", как показано ниже:

 "We are the so-called \"Vikings\" from the north."

Обратная косая черта — этоэкранирующий символ. Экранирующий символ преобразует специальные символы в символы строки:

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

В таблице ниже перечислены специальные символы, которые можно экранировать с помощью экранирующих символов в строках:

Code Вывод
\' Одинарная кавычка
\" Двойная кавычка
\\ Обратная косая черта
\n Перевод строки
\r Возврат каретки
\t Вкладка
\b Возврат на один символ
\f Подача страницы


Строки могут быть объектами

Обычно строки в JavaScript — это примитивные значения, создаваемые с помощью литералов:var firstName = "John"

Но мы также можем определить строку как объект с помощью ключевого слова new:var firstName = new String("John")

Пример

var x = "John";
var y = new String("John");
typeof x // возвращает String
typeof y // возвращает Object

Попробуйте сами »

Note Не создавайте объекты String. Это замедляет скорость выполнения и может вызвать другие побочные эффекты:

Пример

var x = "John";             
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() Возвращает примитивное значение строкового объекта
Другие расширения