Тип данных String в JS
В этой статье вы познакомитесь со строками в JavaScript.
Строки (string) — это примитивный тип данных для работы с текстом.
const name = 'Андрей';
Создание строки
Чтобы задать строку в JavaScript, текст нужно с двух сторон закавычить. Кавычки можно использовать тремя разными способами.
- Одинарные кавычки:
'Привет'
. - Двойные кавычки:
"Привет"
. - Обратные апострофы
`Привет`
.
// примеры строк с разными кавычками
const name = 'Андрей';
const name1 = "Даня";
const result = `Нас зовут ${name} и ${name1}`;
Одинарные и двойные кавычки практически одинаковы — можно использовать любой из этих вариантов.
Обратные апострофы обычно используются, когда нужно включить переменные или выражения в строку. Это делается путем обертывания переменных или выражений такой конструкцией ${переменная_или_выражение}
— как в примере выше.
Одни кавычки можно использовать внутри других — для этого и нужны одинарные и двойные кавычки.
const name = 'Меня зовут "Андрей".';
С одинаковыми кавычками так не получится.
const name = 'Меня зовут 'Андрей'.'; // синтаксическая ошибка
Доступ к символам в строке
Получить определенные символы в строке можно двумя способами.
• С помощью квадратных скобок []
. Представьте, что строка — это массив, где каждый элемент — символ.
const a = 'привет';
console.log(a[1]); // Вывод: "р"
• С помощью метода charAt()
. Методу нужно передать индекс нужного символа.
const a = 'привет';
console.log(a.charAt(1)); // Вывод: "р"
Строки — неизменяемый тип данных
Строки неизменяемы. Это значит, что изменить определенный символ строки не получится.
let a = 'привет';
a[0] = 'П';
console.log(a); // Вывод: "привет"
Тем не менее, ничто не мешает просто задать новое значение строке:
let a = 'привет';
a = 'Привет';
console.log(a); // Вывод: "Привет"
JavaScript чувствителен к регистру
Язык JavaScript чувствителен к регистру. Это значит, что заглавные и строчные буквы воспринимаются в JS как разные значения.
const a = 'a';
const b = 'A'
console.log(a === b); // Вывод: false
Многострочные строки
Многострочные строки — это переменные типа string на несколько строчек кода.
Чтобы создать многострочную строку, нужно испоьзовать либо оператор +
, либо оператор \
.
// использование оператора +
const message1 = 'Это длинный текст, ' +
'который растягивается на несколько ' +
'строк в коде.'
// использование оператора \
const message1 = 'Это длинный текст, \
который растягивается на несколько \
строк в коде.'
Длина строки
Чтобы узнать длину строки, используйте встроенное свойства length
.
const a = 'привет';
console.log(a.length); // 6
Строка как объект
Создать строку можно и как объект — с помощью ключевого слова new
.
const a = 'привет';
const b = new String('привет');
console.log(a); // "привет"
console.log(b); // "привет"
console.log(typeof a); // Вывод: "string"
console.log(typeof b); // Вывод: "object"
Примечание. Не рекомендуется использовать строковые объекты — это замедляет работу программы.
Методы строк
В JavaScript существуют различные методы строк, которые облегчают часто используемые действия.
Вот некоторые из них:
Метод | Описание |
charAt(индекс) |
Возвращает символ из строки по указанному индексу. |
concat() |
Объединяет текст из двух или более строк и возвращает новую строку. |
replace() |
Возвращает новую строку с некоторыми или всеми сопоставлениями с шаблоном, заменёнными на «заменитель» (обычно это строка). |
split() |
Разбивает объект string на массив строк, разделяя строку. |
substring(начало, конец) |
Возвращает подстроку строки между двумя индексами, или от одного индекса и до конца строки. |
slice(начало, конец) |
Извлекает часть строки и возвращает новую строку без изменения оригинальной строки. |
toLowerCase() |
Преобразовывает все символы переданной строки в нижний регистр. |
toUpperCase() |
Преобразовывает все символы переданной строки в верхний регистр. |
trim() |
Удаляет пробелы из строки. |
includes() |
Проверяет, содержит ли строка заданную подстроку, и возвращает true или false соответственно. |
search() |
Выполняет поиск строки и возвращает индекс совпадения. |
Давайте рассмотрим некоторые методы на примере:
const text1 = 'привет';
const text2 = 'мир';
const text3 = ' JavaScript ';
// соединяем две строки
const result1 = text1.concat(' ', text2);
console.log(result1); // Вывод: "привет мир"
// преобразовываем строку к верхнему регистру
const result2 = text1.toUpperCase();
console.log(result2); // Вывод: HELLO
// убираем пробелы из строки
const result3 = text3.trim();
console.log(result3); // Вывод: JavaScript
// преобразовываем строку в массив
const result4 = text1.split();
console.log(result4); // ["привет"]
// «слайсим» строку
const result5= text1.slice(1, 3);
console.log(result5); // "ри"
Функция String()
Функция String()
позволяет преобразовывать некоторые типы данных в строку.
const a = 225; // тип number
const b = true; // тип boolean
// преобразовываем в строку
const result1 = String(a);
const result2 = String(b);
console.log(result1); // Вывод: "225"
console.log(result2); // Вывод: "true"
Экранирование специальных символов
В JS можно использовать символ обратной косой черты \
для включения специальных символов в строку.
const name = 'Меня зовут \'Андрей\'.';
console.log(name); // Вывод: Меня зовут 'Андрей'.
Вот некоторые специальные символы, которые можно использовать в JavaScript:
Код | Вывод |
\" |
Отобразить двойную кавычку. |
\\ |
Отобразить обратный слэш. |
\n |
Перевод каретки на новую строчку. |
\r |
Возврат каретки. |
\t |
Горизонтальный таб. |