Краткое описание: в этом уроке вы узнаете о примитивном типе JavaScript string
и о том, как использовать его для определения строк.
Введение в строки JavaScript
Строки JavaScript — это примитивные значения. Кроме того, строки неизменяемы. Это означает, что если вы измените строку, вы всегда получите новую строку. Исходная строка не изменяется.
Для создания литеральных строк используются одинарные кавычки ('
) или двойные кавычки ("
), как показано здесь:
Code language: JavaScript (javascript)let str = 'Hi'; let greeting = "Hello";
В ES6 появились шаблонные литералы, которые позволяют определять символы обратного тика (`) в строке:
Code language: JavaScript (javascript)let name = `John`';
Шаблонные литералы позволяют использовать одинарные и двойные кавычки внутри строки без необходимости их экранирования. Например:
Code language: JavaScript (javascript)let mesage = `"I'm good". She said";
Также внутри шаблонного литерала можно поместить переменные и выражения. JavaScript заменит переменные их значением в строке. Это называется интерполяцией строк. Например:
Code language: JavaScript (javascript)let name = 'John'; let message = `Hi, I'm ${name}.`; console.log(message);
Вывод:
Hi, I'm John.
В этом примере JavaScript заменяет переменную name
ее значением внутри шаблонного литерала.
Экранирование специальных символов
Для экранирования специальных символов используется символ обратной косой черты . Например:
- Перевод строки в Windows:
'rn'
- Перевод строки Unix:
'n'
- Табуляция:
't'
- Обратная косая черта
''
В следующем примере символ обратной косой черты используется для экранирования символа одинарной кавычки в строке:
Code language: JavaScript (javascript)let str = 'I'm a string!';
Получение длины строки
Свойство length
возвращает длину строки:
Code language: JavaScript (javascript)let str = "Good Morning!"; console.log(str.length); // 13
Обратите внимание, что в JavaScript есть тип String
(с буквой S
в верхнем регистре), который является примитивным типом-оберткой примитивного типа string
. Поэтому из примитивной строки можно получить доступ ко всем свойствам и методам типа String.
Доступ к символам
Для доступа к символам в строке используется нотация []
, похожая на массив, с нулевым индексом. Следующий пример возвращает первый символ строки с нулевым индексом:
Code language: JavaScript (javascript)let str = "Hello"; console.log(str[0]); // "H"
Для доступа к последнему символу строки используется индекс length - 1
:
Code language: JavaScript (javascript)let str = "Hello"; console.log(str[str.length -1]); // "o"
Конкатенация строк с помощью оператора +
Для объединения двух или более строк используется оператор +
:
Code language: JavaScript (javascript)let name = 'John'; let str = 'Hello ' + name; console.log(str); // "Hello John"
Если вы хотите собрать строку по частям, вы можете использовать оператор +=
:
Code language: JavaScript (javascript)let className = 'btn'; className += ' btn-primary' className += ' none'; console.log(className);
Вывод:
Code language: JavaScript (javascript)btn btn-primary none
Преобразование значений в строку
Чтобы преобразовать нестроковое значение в строку, вы используете один из следующих операторов:
- String(n);
- » + n
- n.toString()
Обратите внимание, что метод toString()
не работает для undefined
и null
.
При преобразовании строки в булево значение нельзя преобразовать его обратно. Например:
Code language: JavaScript (javascript)let status = false; let str = status.toString(); // "false" let back = Boolean(str); // true
В этом примере:
- Во-первых, объявите переменную
status
и инициализируйте ее значениемfalse
. - Во-вторых, преобразуйте переменную status в строку с помощью метода
toString()
. - В-третьих, преобразуйте строку обратно в булево значение с помощью функции
Boolean()
. Функция Boolean() преобразует строку"false"
в булево значение. Результат равен true, так как"false"
— непустая строка.
Обратите внимание, что единственная строка, для которой функция Boolean()
возвращает false
, — это пустая строка (''
);
Сравнение строк
Для сравнения двух строк используются операторы сравнения, такие как >
, >=
, <
, <=
и ==
.
Операторы сравнения сравнивают строки на основе числовых значений символов. При этом может возвращаться порядок строк, отличный от того, который используется в словарях. Например:
Code language: JavaScript (javascript)let result = 'a' < 'b'; console.log(result); // true
Однако:
Code language: JavaScript (javascript)let result = 'a' < 'B'; console.log(result); // false
Резюме
- Строки JavaScript являются примитивными значениями и неизменяемы.
- Буквальные строки разграничиваются одинарными кавычками (
'
), двойными кавычками ("
) или обратными знаками (`). - Свойство
length
возвращает длину строки. - Для сравнения строк используйте операторы сравнения `>, >=, <, <=, ==.