4.1 Введение в строки
Строки в JavaScript представляют собой последовательности символов и являются одним из основных типов данных. Строки можно создавать с использованием одинарных кавычек 'текст ', двойных кавычек "текст", или обратных кавычек `текст`.
Примеры строк:
let singleQuote = 'Hello, World!';
let doubleQuote = "Hello, World!";
let backticks = `Hello, World!`;
У объекта строки можно вызывать такие методы:
| Метод | Описание |
|---|---|
| length | Возвращает длину строки |
| charAt(index) | Возвращает символ, находящийся на указанной позиции |
| toUpperCase() | Преобразует строку в верхний регистр |
| toLowerCase() | Преобразует строку в нижний регистр |
| indexOf(substring) | Возвращает индекс первого вхождения подстроки или -1, если не найдено |
| includes(substring) | Проверяет, содержит ли строка указанную подстроку, возвращает true или false |
| slice(start, end) | Извлекает часть строки и возвращает новую строку |
| replace(searchValue, newValue) | Заменяет указанную подстроку на новую подстроку |
| split(separator) | Разбивает строку на массив подстрок, используя указанный разделитель |
| trim() | Удаляет пробелы с начала и конца строки |
4.2 Основные методы работы со строками
Примеры использования методов
1. Свойство length
Возвращает длину строки:
let str = 'Hello';
console.log(str.length); // 5
2. Метод charAt(index)
Возвращает символ, находящийся на указанной позиции:
let str = 'Hello';
let result = str.charAt(1);
console.log(result); // 'e'
3. Метод toUpperCase() и toLowerCase():
Преобразуют строку в верхний или нижний регистр:
let str = 'Hello';
console.log(str.toUpperCase()); // 'HELLO'
console.log(str.toLowerCase()); // 'hello'
4. Метод indexOf(substring)
Возвращает индекс первого вхождения подстроки или -1, если подстрока не найдена:
let str = 'Hello, world!';
let result = str.indexOf('world');
console.log(result); // 7
5. Метод includes(substring)
Проверяет, содержит ли строка указанную подстроку, возвращает true или false:
let str = 'Hello, world!';
let result = str.includes('world');
console.log(result); // true
6. Метод trim()
Удаляет пробелы с начала и конца строки:
let str = ' Hello, world! ';
console.log(str.trim()); // 'Hello, world!'
7. Метод replace(searchValue, newValue)
Заменяет указанную подстроку на новую подстроку:
let str = 'Hello, world!';
console.log(str.replace('world', 'JavaScript')); // 'Hello, JavaScript!'
8. Метод split(separator)
Разбивает строку на массив подстрок, используя указанный разделитель:
let str = 'Hello, world!';
let words = str.split(' ');
console.log(words); // ['Hello,', 'world!']
9. Метод substring(start, end)
Возвращает подстроку между двумя индексами:
let str = 'Hello, world!';
console.log(str.substring(0, 5)); // 'Hello'
10. Метод substr(start, length)
Возвращает подстроку, начиная с указанного индекса и длиной, равной указанному числу символов:
let str = 'Hello, world!';
console.log(str.substr(0, 5)); // 'Hello'
11. Метод slice(start, end)
Извлекает часть строки и возвращает новую строку:
let str = 'Hello, world!';
console.log(str.slice(0, 5)); // 'Hello'
12. Метод startsWith(substring)
Проверяет, начинается ли строка с указанной подстроки, возвращает true или false:
let str = 'Hello, world!';
console.log(str.startsWith('Hello')); // true
13. Метод endsWith(substring)
Проверяет, заканчивается ли строка указанной подстрокой, возвращает true или false:
let str = 'Hello, world!';
console.log(str.endsWith('world!')); // true
14. Метод repeat(count)
Возвращает новую строку, содержащую указанное количество копий исходной строки:
let str = 'Hello';
console.log(str.repeat(3)); // 'HelloHelloHello'
let str2 = '-';
console.log(str2.repeat(30)); // '---------------------------------------------------------------'
4.3 Cтрока нового поколения
Шаблонные строки (template strings) добавили в JavaScript недавно. Они предоставляют более удобный и читаемый способ работы с текстом по сравнению с обычными строками. Заключаются в обратные кавычки ` и поддерживают интерполяцию выражений и многострочный текст.
Синтаксис:
`строка нового поколения`
Пример:
Шаблонный литерал greeting создается с использованием обратных кавычек.
const greeting = `Hello, World!`;
console.log(greeting); // "Hello, World!"
Основные особенности шаблонных строк:
- Интерполяция выражений: шаблонные строки позволяют вставлять выражения и переменные внутрь строки с помощью
${} - Многострочный текст: шаблонные строки поддерживают многострочный текст без необходимости использовать специальные символы для переноса строк
- Встроенные выражения: внутри шаблонных строк можно использовать любые выражения JavaScript, включая функции
Рассмотрим примеры использования шаблонных строк.
Интерполяция выражений
Шаблонные строки позволяют легко вставлять значения переменных и результаты выражений внутрь строки:
let name = "Alice";
let age = 30;
let greeting = `Hello, ${name}! You are ${age} years old.`;
console.log(greeting); // "Hello, Alice! You are 30 years old."
В этом примере переменные name и age вставляются внутрь строки с использованием ${}.
Многострочный текст
Шаблонные строки упрощают создание многострочных строк без необходимости использования символов переноса строки (\n):
let multiLine = `Lorem ipsum odor, consectetuer adipiscing elit.
Sit lorem mattis eget maximus.`;
console.log(multiLine);
// Lorem ipsum odor, consectetuer adipiscing elit.
// Sit lorem mattis eget maximus.
Встроенные выражения
Внутри шаблонных строк можно использовать любые выражения JavaScript, включая вызовы функций:
let a = 5;
let b = 10;
let result = `The sum of ${a} and ${b} is ${a + b}.`;
console.log(result); // "The sum of 5 and 10 is 15."
function getGreeting(name) {
return `Hello, ${name}!`;
}
let greeting = `${getGreeting("Bob")}`;
console.log(greeting); // "Hello, Bob!"
Лучше, конечно, функции не вызывать внутри строк, но если очень хочется, то можно.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ