Тип данных 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 Горизонтальный таб. 
codechick

СodeСhick.io - простой и эффективный способ изучения программирования.

2024 ©