Строки и их свойства
Мы можем получать значения свойств строк, например length и toUpperCase. Но попытка добавить новое свойство ни к чему не приведёт:
var myString = "Шарик";
myString.myProperty = "значение";
console.log(myString.myProperty);
// ? undefined
Величины типа строка, число и булевские – не объекты, и хотя язык не жалуется на попытки назначить им новые свойства, он на самом деле их не сохраняет. Величины неизменяемы.
Но у них есть свои встроенные свойства. У каждой строки есть набор методов. Самые полезные, пожалуй – slice и indexOf, напоминающие те же методы у массивов.
console.log("кокосы".slice(3, 6));
// ? осы
console.log("кокос".indexOf("с"));
// ? 4
Разница в том, что у строки метод indexOf может принять строку, содержащую больше одного символа, а у массивов такой метод работает только с одним элементом.
console.log("раз два три".indexOf("ва"));
// ? 5
Метод trim удаляет пробелы (а также переводы строк, табуляцию и прочие подобные символы) с обоих концов строки.
console.log(" ладно ".trim());
// ? ладно
Мы уже сталкивались со свойством строки length. Доступ к отдельным символам строчки можно получить через метод charAt, а также просто через нумерацию позиций, как в массиве:
var string = "abc";
console.log(string.length);
// ? 3
console.log(string.charAt(0));
// ? a
console.log(string[1]);
// ? b
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОК