Строки – тип данных в JS
Продолжаем знакомиться с типами данных в JS и на очереди у нас строки. Строки – это не что иное, как набор символов Юникод и используются в JS для предоставления текста.
Кавычки
Строки заключаются в двойные или одинарные кавычки, допускается оставлять строки пустыми.
let double_quote = "текст в JS";
let single_quote = 'текст в JS';
let x = ""; // значение переменной x пустое
Внутри строки с двойными/одинарными кавычками не могут располагаться слова с двойными/одинарными кавычками.
let a = "кавычки "в" строке"; // неправильно
А вот такая конструкция допускается.
let b = "кавычки 'в' строке"; // правильно
let b = 'кавычки "в" строке'; // правильно
Как быть, если все-таки надо вставить в строку с двойными кавычками, слово, обрамленное в двойные кавычки? Перед открывающей внутренней кавычкой, нужно поставить символ обратный слэш \ - сделать экранирование. Это правило касается и одинарных кавычек.
alert( 'I\'m the Legend!' );
Как начать с новой строки?
Существует символ переноса строки \n.
let itemList = "Фрукты:\n банан\n яблоко\n груша";
- банан
- яблоко
- груша
Длина строки
В программировании понятие текста – никакая не лирика, здесь все символы на учете в буквальном смысле. Видите ли, строка имеет конкретную длину (количество символов), за что отвечает свойство length. Как принято в языках программирования, исчисление символов Юникода начинается с нуля. Для пустой строки, длина строки length равна 0. Пробел в строке – это тоже символ.
alert( 'пробел засчитан'.length ); // length равен 15
Как работать со строками в JS?
Давайте посмотрим, что можно делать со строками? Строку можно:
- объединять
- разбивать
- удалять
- сравнивать
- заменять
- преобразовывать строку в число
- делать поиск в строке
Для работы со строками JavaScript есть специальные методы.
Конкатенация - объединение строк
Оператор сложения + объединяет несколько строк в одну целую строку. Пустые кавычки обозначают пробел, сам по себе пробел не появится, его нужно прописать.
let c = "метод" + " " + "конкатенации"; // одна строка "метод конкатенации"
Split() - разбить строку
Метод split разбивает строки на подстроки по определенным символам и возвращает их в виде массива. В переменной s находится строка с разными типами данными, написанными через запятую. Мы разбиваем строку по запятой, в дальнейшем результат запишется в массив.
let s = 'разбить строку, 1,2,5'
let arr = new Array();
arr = s.split(',');
Все элементы вернулись в виде массива.
arr[0] = 'разбить строку';
arr[1] = '1';
arr[2] = '2';
arr[3] = '5';
Удалить из строки – substr()
Метод substr() возвращает указанное количество символов в первом параметре, на число удаляемых символов length во втором параметре.
str.substr(start, length)
let str = 'удалить';
str.substr(1, 2)); // останется два символа 'да'
str.substr(1)); // останется 'далить'
Преобразовать строку в число
В JS предусмотрено автоматическое преобразование типов данных. Если браузер видит, что мы пытаемся выполнить математическое действие между строкой и числом, то он автоматически преобразует строку в число.
console.log (5 +' 5') // возвращает результат 10
Метод parseInt анализирует первый передаваемый параметр и возвращает число.
parseInt(''5'') // 5
parseInt(''-2'') // -2
parseInt(''4.6'') // 4
Заменить в строке
Вы можете заменить первый передаваемый параметр на второй, используя метод replace().
let result = str.replace("JavaScript", "JS");
Нижний и верхний регистр
Метод toLowerCase() преобразует символы строки в нижний регистр. Метод toUpperCase() преобразует символы строки в верхний регистр.
Задача на поиск символов в подстроке
Надо написать функцию, которая возвращает true, если строка содержит символы 'купить', в противном случае false.
Решение задачи
Поскольку пользователь может вводить символы в верхнем регистре, то для начала приведем значение полученной строки в нижний регистр.
function check(str) {
let lowerStr = str.toLowerCase();
return lowerStr.includes('купить');
}
alert( check('купить машину') ); // вернет true
alert( check("хорошая погода") ); // вернет false
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.