const factorial = function calc(n) {
if (n <= 1) return 1;
return n * calc(n - 1);
};
console.log(factorial(5));
console.log(typeof calc);🟡 CHALLENGE
Что выведет консоль?⬆️
Что выведет консоль?⬆️
Anonymous Quiz
46%
120 и "function"
29%
120 и "undefined"
15%
Ошибка: calc is not defined
10%
Бесконечная рекурсия
❤4🙏2💅1
🟠 KNOWLEDGE CHECK
Что такое интроспекция в JavaScript?⬇️
Что такое интроспекция в JavaScript?⬇️
Anonymous Quiz
13%
Создание новых объектов на основе существующих
57%
Возможность программы исследовать свою собственную структуру во время выполнения
17%
Процесс автоматической оптимизации кода движком JS
0%
Метод шифрования исходного кода
12%
Алгоритм для предотвращения утечек памяти
❤4👍1💅1
🟡 KNOWLEDGE CHECK
Что такое JSX? ⬇️
Что такое JSX? ⬇️
Anonymous Quiz
6%
Аббревиатура от JavaScript XML, представляет собой инструмент для осуществления SOAP запросов
31%
Синтаксис, превращающийся в вызовы React.createElement()
60%
Расширенный синтаксис JS, предназначенный для динамической вставки HTML-разметки на страницу
2%
Отдельный язык разметки, работающий напрямую в браузере
🤨4❤3🤓1
🟠 CHALLENGE
Что выведет консоль? ⬆️
Что выведет консоль? ⬆️
Anonymous Quiz
8%
[1, 2, 4, [5, 7]]
41%
[1, 2, undefined, 4, 5, undefined, 7]
33%
[1, 2, 4, 5, 7]
18%
[1, 2, , 4, 5, , 7]
❤4🔥4💅1
🟡 CHALLENGE
Что выведет консоль? ⬆️
Что выведет консоль? ⬆️
Anonymous Quiz
24%
1, 2, [4, 5]
16%
1, 2, 4, 5
44%
SyntaxError - такой синтаксис деструктуризации невалиден
15%
1, 2, [3, 4, 5]
🤯5👌1💅1
🟢 KNOWLEDGE CHECK
В чём ключевое отличие метода map от forEach?⬇️
В чём ключевое отличие метода map от forEach?⬇️
Anonymous Quiz
3%
map может обрабатывать асинхронные функции, а forEach – нет
92%
map возвращает новый массив, forEach – нет
2%
forEach работает значительно быстрее, особенно на больших массивах
2%
map не вызывает функцию для пустых элементов
❤3
🟢 KNOWLEDGE CHECK
Нужно проверить, все ли элементы массива удовлетворяют условию el > 5. Какой подход стоит выбрать? ⬇️
Нужно проверить, все ли элементы массива удовлетворяют условию el > 5. Какой подход стоит выбрать? ⬇️
Anonymous Quiz
66%
arr.every(el => el > 5)
5%
arr.map(el => el > 5).length === arr.length
16%
arr.filter(el => el > 5).length === arr.length
13%
!arr.some(el => el > 5)
❤2
🟡 KNOWLEDGE CHECK
Что такое стек вызовов (call stack)? ⬇️
Что такое стек вызовов (call stack)? ⬇️
Anonymous Quiz
40%
Структура данных, отслеживающая цепочку выполняемых функций и порядок их возврата
5%
Область памяти для хранения асинхронных операций
46%
Механизм для управления очередью задач (микро и макро задач)
10%
Пул памяти, где хранятся все объявленные переменные и функции
❤3🔥1
🟡 KNOWLEDGE CHECK
Поддерживает ли JavaScript множественное наследование? ⬇️
Поддерживает ли JavaScript множественное наследование? ⬇️
Anonymous Quiz
43%
Да, через ключевое слово extends можно указать несколько классов
28%
Нет, но его можно эмулировать
4%
Да, но только для встроенных классов (например, Array и Object)
26%
Нет, в JS нет никакой поддержки множественного наследования и эмулировать его невозможно
❤1
const order = {
stage: 'processing',
client: {
name: 'Bob',
age: 30,
},
};
const updatedOrder = { ...order };
updatedOrder.client.age = 25;
updatedOrder.stage = 'completed';
console.log(order.client.age);
console.log(order.stage);🟢 CHALLENGE
После выполнения этого кода, каковы будут значения исходного объекта order (order.client.age и order.stage)?⬆️
После выполнения этого кода, каковы будут значения исходного объекта order (order.client.age и order.stage)?⬆️
Anonymous Quiz
36%
30, "processing"
29%
25, "completed"
32%
25, "processing"
3%
30, "completed"
❤5😭2
🟢 KNOWLEDGE CHECK
Какие типы данных в JavaScript являются ссылочными (передаются по ссылке)? ⬇️
Какие типы данных в JavaScript являются ссылочными (передаются по ссылке)? ⬇️
Anonymous Quiz
24%
Объекты и массивы
65%
Объекты, массивы и функции
1%
Только массивы
4%
Все примитивные типы
5%
Всё в JS передаётся по значению
❤2🤯2
🟠 CHALLENGE
Что произойдёт с типами при их объединении и пересечении с never? ⬆️
Что произойдёт с типами при их объединении и пересечении с never? ⬆️
Anonymous Quiz
26%
Тип A упростится до 'string', а B – до 'never'
42%
Тип A останется 'string | never', а тип B упростится до 'never'
25%
Оба типа упростятся до 'never'
8%
Оба типа упростятся до 'string'
🔥4👍1🤔1
🟢 KNOWLEDGE CHECK
Когда стоит избегать использования тернарного оператора? ⬇️
Когда стоит избегать использования тернарного оператора? ⬇️
Anonymous Quiz
3%
В строгом режиме ('use strict')
70%
Для вложенных условий больше двух уровней
7%
В JSX для условного рендеринга
20%
Для инициализации констант на основе условий
❤1
🟡 KNOWLEDGE CHECK
Чем создание микротаски через queueMicrotask(callback) отличается от Promise.resolve().then(callback)? ⬇️
Чем создание микротаски через queueMicrotask(callback) отличается от Promise.resolve().then(callback)? ⬇️
Anonymous Quiz
24%
queueMicrotask имеет более высокий приоритет
36%
Ничем, но queueMicrotask - современный стандартизированный API
30%
Микротаски, созданные через queueMicrotask, могут отменяться, а Promise.then - нет
9%
queueMicrotask работает только в Node.js
❤2👍2
🟡 CHALLENGE
Что выведет этот код? ⬆️
Что выведет этот код? ⬆️
Anonymous Quiz
27%
true
48%
false
15%
[true, true, true]
10%
Сравнение с NaN выбросит исключение в JS
✍3