Есть функция
const capitalize = name => name[0].toUpperCase() + name.slice(1);
Подскажите, пожалуйста, почему в результате в заглавной букве присоединяется всё оставшееся слово, а не только второй символ? name.slice(1)
Метод String.prototype.slice(start, end), который вы вызываете в своей стрелочной функции, ожидает два входных параметра, оба приводятся к числу. Если одного из них не хватает, то есть метод был вызван как name.slice(1)
, то в качестве второго параметра принимается вся длина строки name.length
. Если же и первый аргумент отсутствует name.slice()
, то считается, что он равен нулю.
Дальше этот метод уже работает с полученными данными, т.е. возвращает часть исходной строки начиная от индекса с номером start включительно, до символа* с индексом end, не учитывая его. Отрицательные индексы считаются от конца строки, таким образом −1 означает последний символ в данной строке.
Вот примеры:
var name = "Мастер"
name.slice(1, 4) // "аст"
name.slice(3) == name.slice(3, 6) // "тер"
name.slice(3, -1) == name.slice(3, 5) // "те"
name.slice(-2) == name.slice(-2, 6) // "ер"
* Здесь имеется ввиду code point.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Всем привет! Скажите, в чём разница между функциями ParseFloat, ParseInt и Number? В результате этих функций строка преобразуется в число
Я хочу что бы у меня в адресной строке ссылка со скриптом открывалась не вот так