JavaScript & TypeScriptМодуль 3: Строки и числа
Методы строк
Основные методы для работы со строками
Цель урока
В этом уроке ты научишься:
- Искать подстроки
- Изменять регистр и обрезать пробелы
- Разбивать и объединять строки
Длина и доступ к символам
let str = "Привет";
console.log(str.length); // 6
console.log(str[0]); // "П"
console.log(str.at(-1)); // "т" (последний символ)
console.log(str.charAt(1)); // "р"Неизменяемость
Строки нельзя изменить. Методы возвращают новую строку.
Поиск подстроки
includes, startsWith, endsWith
let text = "JavaScript — это круто";
console.log(text.includes("Script")); // true
console.log(text.startsWith("Java")); // true
console.log(text.endsWith("круто")); // trueindexOf, lastIndexOf
let text = "Привет, мир! Привет!";
console.log(text.indexOf("Привет")); // 0
console.log(text.lastIndexOf("Привет")); // 13
console.log(text.indexOf("Пока")); // -1 (не найдено)Извлечение подстроки
slice
let str = "JavaScript";
console.log(str.slice(0, 4)); // "Java"
console.log(str.slice(4)); // "Script"
console.log(str.slice(-6)); // "Script" (с конца)
console.log(str.slice(-6, -1)); // "Scrip"substring
let str = "JavaScript";
console.log(str.substring(0, 4)); // "Java"
console.log(str.substring(4, 0)); // "Java" (меняет местами)Рекомендация
Используй slice — он более предсказуем и поддерживает отрицательные индексы.
Изменение регистра
let str = "JavaScript";
console.log(str.toUpperCase()); // "JAVASCRIPT"
console.log(str.toLowerCase()); // "javascript"Обрезка пробелов
let str = " Привет, мир! ";
console.log(str.trim()); // "Привет, мир!"
console.log(str.trimStart()); // "Привет, мир! "
console.log(str.trimEnd()); // " Привет, мир!"Замена
replace
let str = "Привет, мир!";
console.log(str.replace("мир", "друг")); // "Привет, друг!"
console.log(str.replace("и", "!")); // "Пр!вет, мир!" (только первое)replaceAll
let str = "Привет, мир! Привет!";
console.log(str.replaceAll("Привет", "Пока")); // "Пока, мир! Пока!"Разбиение и объединение
split
let str = "яблоко,банан,апельсин";
console.log(str.split(",")); // ["яблоко", "банан", "апельсин"]
console.log(str.split(",", 2)); // ["яблоко", "банан"]
console.log("Привет".split("")); // ["П", "р", "и", "в", "е", "т"]join (метод массива)
let arr = ["яблоко", "банан", "апельсин"];
console.log(arr.join(", ")); // "яблоко, банан, апельсин"
console.log(arr.join(" - ")); // "яблоко - банан - апельсин"
console.log(arr.join("")); // "яблокобананапельсин"Дополнение строки
padStart, padEnd
let num = "5";
console.log(num.padStart(3, "0")); // "005"
console.log(num.padEnd(3, "0")); // "500"
// Форматирование времени
let hours = "9";
let minutes = "5";
console.log(hours.padStart(2, "0") + ":" + minutes.padStart(2, "0")); // "09:05"Повторение
console.log("Ха".repeat(3)); // "ХаХаХа"
console.log("-".repeat(10)); // "----------"Сводная таблица
| Метод | Описание |
|---|---|
length | Длина строки |
includes() | Содержит подстроку? |
startsWith() | Начинается с? |
endsWith() | Заканчивается на? |
indexOf() | Позиция первого вхождения |
slice() | Извлечь часть строки |
toUpperCase() | В верхний регистр |
toLowerCase() | В нижний регистр |
trim() | Убрать пробелы |
replace() | Заменить первое вхождение |
replaceAll() | Заменить все вхождения |
split() | Разбить в массив |
padStart() | Дополнить в начале |
repeat() | Повторить |
Практика
Задание 1: Проверка email
Задача: Проверь, содержит ли строка символ @.
Запустите код для проверки
Loading...
Ваш вывод:
Ожидаемый результат:
true
Задание 2: Форматирование имени
Задача: Преобразуй "иВАН пЕТРОВ" в "Иван Петров".
Запустите код для проверки
Loading...
Ваш вывод:
Ожидаемый результат:
Иван Петров
Задание 3: Разбор URL
Задача: Извлеки домен из URL.
Запустите код для проверки
Loading...
Ваш вывод:
Ожидаемый результат:
www.example.com
Проверь себя
- Чем
sliceотличается отsubstring? - Как заменить все вхождения подстроки?
- Как разбить строку на массив?