String & Symbol +
Кавычки
'string1'; // одинарные
'string2'; // двойные
`string3`; // обратные
Экранирование символов
// Экранирование кавычек
'It\'s easy'; // "It's easy"
// Экранирование обратного слэша
'This is a backslash: \\';
// Перенос строки
'ABCD\bE';
'Line 1\nLine 2';
// Табуляция
'Column1\tColumn2\tColumn3';
// Unicode символы
'\u00A9 2023'; // '© 2023'
// обратные кавычки самые мощные
// ${js-код} и учитываются пробелы
`
${1 + 3} шт.
${Math.floor(Math.random() * 100)}
`;
Индексы
'someString'.length; // длина строки (пробелы считаются)
'someString'[0]; // 's'
'someString'.at(0); // 's' - дублирующий метод
'someString'.charAt(0); // 's' - дублирующий метод
'someString'['someString'.length - 1]; // 'g'
'someString'[100]; // ошибки не будет, вернет undefined
Преобразования типов
// Число в строку
`${123}`; // '123' - I способ
123 + ''; // '123' - II способ
String(123); // '123' - III способ
String(-12.3); // '-12.3'
(0.123).toString(); // '0.123' - IV способ
String(Infinity); // 'Infinity'
String(NaN); // 'NaN'
// null и undefined
String(null); // 'null'
String(undefined); // 'undefined'
// boolean
String(true); // 'true'
String(false); // 'false'
// object
String(function () {}); // 'function () {}' - текст кода функции
String({}); // '[object Object]'
String({ key: 42 }); // '[object Object]'
String([]); // '' - пусой массив как пустая строка
String([1, 2]); // '1,2'
+''; // 0
+' 4'; // 4
typeof '' || typeof ' ' || typeof 'abc'; // 'string'
// string
String(''); // ''
String('abc'); // 'abc'
// number
Number('') || Number(' '); // 0
Number('abc'); // NaN
Number('123'); // 123
+'123'; // 123
Number('123.123'); // 123.123
// boolean
Boolean(''); // faslse
Boolean(' '); // true
Boolean('abc'); // true
Конкатeнация
// concatination
'abc' + 'def'; // 'abcdef'
'asdfas' + 123; // 'asdfas123'
'asdfas' - 123 || 'asdfas' * 123; || 'asdfas' / 123; // NaN
true + 'abc'; // 'trueabc'
true - 'abc'; // NaN
'aasdfad'.concat('fgfgfgfgf'); // 'aasdfadfgfgfgfgf'
Методы для string
Регистр
// ЭТИ методы не меняют исходную строку, если нужно сохранить изменения,
// то нужно присваивать из в переменную
'string'.toUpperCase(); // 'STRING'
'ANOTHER STRING'.toLowerCase(); // 'another string'
// c локализацией
'string'.toLocaleUpperCase(); // 'STRING'
'ANOTHER STRING'.toLocaleLowerCase(); // 'another string'