В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Используйте generic-типы объекта, ключа и значения. Для известного литерального ключа возвращаемый тип должен исключать старое поле и добавлять новое, иначе перезапись может дать несовместимое пересечение.
Разделите путь по точкам и проверяйте каждый собственный ключ, останавливаясь на null, undefined или отсутствии свойства. Метод можно разместить в отдельном прототипе, не меняя Object.prototype.
Если рассматривать вызовы отдельно, shape.diameter() вернёт 20. foo() теряет контекст, а стрелка perimeter использует внешний this, поэтому их результат зависит от режима выполнения.
Опишите общие price/category через generic-ограничение, чтобы сохранить дополнительные поля товаров. Суммируйте обычные цены и цены после скидки категории; результат примера — 40 и 32.
Проверьте число переданных аргументов: при двух сразу верните сумму, при одном верните функцию, ожидающую второе число. Не проверяйте второй аргумент на truthy, ведь 0 допустим.
Фрагмент не выполнится: в нём несколько синтаксических ошибок, поэтому console.log не получит ни одного значения. Нельзя обсуждать привязку this до восстановления корректных функций.
Для случайного целого включительно используйте floor(random × (max − min + 1)) + min. Сначала округлите границы внутрь диапазона и убедитесь, что он не пуст.
Каждая строка начинается и заканчивается единицей, а внутренние элементы равны сумме двух соседних чисел предыдущей строки. Добавляйте строки последовательно в результат.
Запускайте запрос в эффекте по значению input, пропускайте пустую строку и игнорируйте ответ отменённого эффекта. Отдельно храните loading, результат и ошибку.