Методы строк в JavaScript: простая шпаргалка с примерами
Любые текстовые данные в JavaScript считаются строками. Это примитивный тип, но язык позволяет работать с ним так, будто он является объектом. В том числе — использовать встроенные в JS методы строк, которые собраны в этой шпаргалке.
Важно: при использовании методов создаётся новая строка, которая записывается в ту же переменную вместо старой строки.
В комментариях разобраны все методы строк
#js #javascript #frontend #interview
grhgrmgrhrm
"Hello Unicoding".toLowerCase(); // "hello unicoding"
toUpperCase - Преобразует символы в строке в верхний регистр.
"Hello Unicoding".toUpperCase(); // "HELLO UNICODING"
Удалить комментарий
Вы уверены, что хотите удалить этот комментарий?
grhgrmgrhrm
Объединяет две или более строки и возвращает одну строку.
"Hello".concat(" Unicoding" // "Hello Unicoding"
"Hello".concat(" U", "n", "i", "c", "d", "i", "n", "g" // "Hello Unicoding"
split - разделяет строку на подстроки
Разбивает строку в массив по указанному разделителю, которым может быть подстрока или регулярное выражение. Вторым параметром можно указать ограничитель.
// Получаем каждый символ
"Hello Unicoding".split("" // ["H", "e", "l", "l", "o", " ", "U", "n", "i", "c", "d", "i", "n", "g"]
// Получаем каждое слово из строки (между кавычками пробел)
"Hello Unicoding".split(" " //["Hello", "Unicoding"]
// Устанавливаем ограничитель
"Hello Unicoding".split(" ", 1); //["Hello"]
Удалить комментарий
Вы уверены, что хотите удалить этот комментарий?
grhgrmgrhrm
"Unicoding ".repeat(3); // "Unicoding Unicoding Unicoding "
charAt - Возвращает символ по указанному индексу.
"Hello Unicoding".charAt(); // "H"
Удалить комментарий
Вы уверены, что хотите удалить этот комментарий?
grhgrmgrhrm
"Hello Unicoding".includes("Unicoding" // true
"Hello Unicoding".includes("Hello", 1); // false
indexOf - Возвращает индекс первого найденного вхождения указанного значения. Поиск ведётся от начала до конца строки. Если совпадений нет, возвращает -1. Вторым параметром можно передать позицию, с которой следует начать поиск.
"Hello World".indexOf("o" // 4
"Hello World".indexOf("o", 5); // 7
lastIndexOf - Возвращает индекс последнего найденного вхождения указанного значения. Поиск ведётся от конца к началу строки. Если совпадений нет, возвращает -1. Вторым параметром можно передать позицию, с которой следует начать поиск.
"Hello World".lastIndexOf("o" // 7
"Hello World".lastIndexOf("o", 5); // 4
Удалить комментарий
Вы уверены, что хотите удалить этот комментарий?
grhgrmgrhrm
"Hello Unicoding".endsWith("Unicoding" // true
"Hello Unicoding".endsWith("Unicoding", 12); // false
startsWith - Проверяет, начинается ли строка с указанных символов. Возвращает true или false. Вторым параметром можно указать индекс, с которого следует начать проверку.
"Hello Unicoding".startsWith("Hello" // true
"Hello Unicoding".startsWith("Hello", 1); // false
search - Проверяет, есть ли в строке указанное значение или регулярное выражение и возвращает индекс начала совпадения.
"hi, hello, hey".search("hello" // 4
Удалить комментарий
Вы уверены, что хотите удалить этот комментарий?
grhgrmgrhrm
"Методы строк на Unicoding".slice(16); // "Unicoding"
"Методы строк на Unicoding".slice(16, 21); //
// Отрицательные значения тоже работают
"Методы строк на Unicoding".slice(-7); // "Unicoding"
"Методы строк на Unicoding".slice(-7, -2); //
Удалить комментарий
Вы уверены, что хотите удалить этот комментарий?
grhgrmgrhrm
"Методы строк на Unicoding".substring(5, 2); // "тод"
substr - Извлекает часть строки указанной длины. Первым параметром принимает стартовую позицию, вторым — длину. Значение первого параметра может быть отрицательным, тогда позиция определяется с конца строки.
"Методы строк на Unicoding".substr(7, 5); // "строк"
"Методы строк на Unicoding".substr(-7, 5); //
Удалить комментарий
Вы уверены, что хотите удалить этот комментарий?
grhgrmgrhrm
"hi, hello, hi".replace("hi", "hey" // "hey, hello, hi"
"hi, hello, hi".replace(/hi/g, "hey" // "hey, hello, hey"
replaceAll - Даёт такой же результат, как метод replace() с глобальным флагом g. Заменяет все найденные совпадения другой строкой или переданной функцией.
"hi, hello, hi".replaceAll("hi", "hey" // "hey, hello, hey"
Удалить комментарий
Вы уверены, что хотите удалить этот комментарий?
grhgrmgrhrm
"Hello Unicoding".padEnd(20, "*" // "Hello Unicoding*******"
padStart - Добавляет в начале отступы, пока строка не достигнет длины, заданной первым параметром. Вторым параметром можно указать другой символ вместо пробела.
"Hello Unicoding".padStart(20, "*" // "*******Hello Unicoding"
Удалить комментарий
Вы уверены, что хотите удалить этот комментарий?
grhgrmgrhrm
" Hello Unicoding ".trim(); // "Hello Unicoding"
trimEnd - Обрезает пробелы в конце строки
" Hello Unicoding ".trimEnd(); // " Hello Unicoding"
trimStart - Обрезает пробелы в начале строки
" Hello Unicoding ".trimStart(); // "Hello Unicoding "
Удалить комментарий
Вы уверены, что хотите удалить этот комментарий?
grhgrmgrhrm
"T".charCodeAt() // 84
"t".charCodeAt() // 116
fromCharCode - Преобразует числовые значения Юникода в читаемые символы.
String.fromCharCode(72, 101, 108, 108, 111); // "Hello"
Примечание: при работе с эмодзи, редкими математическими символами, иероглифами нужно помнить о суррогатных парах. Это символы, которые записываются двумя 16-битными словами. Длина таких строк — 2.
'𩷶'.length; // 2, редкий китайский иероглиф
Суррогатные пары не учитывались при создании JS и методы строк charCodeAt / fromCharCode обрабатывают их некорректно. Правильно работают с суррогатными парами редкие методы String.fromCodePoint и str.codePointAt, которые появились в языке недавно.
Для работы со строками в JS есть не только встроенные методы, но и сторонние библиотеки. Они решают задачи более сложные задачи. Но подключать их имеет смысл только в том случае, если возможностей встроенных методов действительно не хватает.
Удалить комментарий
Вы уверены, что хотите удалить этот комментарий?