Каталог
Веб-разработка с нуля: четыре курса по порядку.
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Каталог
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Урок 73 из 114 · 9 мин
at, charAt, charCodeAt, codePointAt, String.fromCharCode, String.fromCodePoint и почему эмодзи — это два символа.
"☕".length === 1, а "🍵".length === 2! Чай весит вдвое больше, чем ☕. Хе-хе.
Строка — это последовательность кодовых единиц UTF-16. Некоторые символы занимают две. Разберём все методы для символов.
at()str.at(0) — первый, str.at(-1) — последний. Отрицательные индексы считаются с конца.length - 1.console.log("Блокнот".at(0), "Блокнот".at(-1));charAt()str.charAt(i) — как str[i], но за пределами вернёт пустую строку вместо undefined.console.log("Пенал".charAt(1), "Пенал".charAt(10) === "", "Пенал"[10]);charCodeAt() · codePointAt()charCodeAt(i) — код UTF-16 (0…65535), codePointAt(i) — полный код Unicode, включая эмодзи.console.log("A".charCodeAt(0), "🍵".charCodeAt(0), "🍵".codePointAt(0));String.fromCharCode() · String.fromCodePoint()String.fromCodePoint(127861) → «🍵».console.log(String.fromCharCode(1047, 1077, 1088, 1085, 1086), String.fromCodePoint(127861));[..."чай🍵"] разбивает по настоящим символам (кодовым точкам), а не по половинкам эмодзи. Работает через итератор строки.console.log("чай🍵".length, [..."чай🍵"].length);Длина строки с эмодзи — [...str].length, а не str.length.
Напиши charCount(str) — число настоящих символов (с эмодзи), и lastChar(str) — последний символ через at(-1) для обычных строк.
at(-1) — пока нетВыберите один ответ.
Что вернёт "Пенал".at(-1)?
Выберите один ответ.
Почему "🍵".length равно 2?
Проверяем состояние обучения…