🟡 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
В предыдущем посте мы выяснили, что
Тогда как правильно проверить, что каждый элемент массива — NaN?
el === NaN не сработает. Тогда как правильно проверить, что каждый элемент массива — NaN? Тогда как правильно проверить, что каждый элемент массива — NaN?
const arr = [NaN, NaN, NaN];
console.log(arr.every(el => ??? )); // Что подставить?
🟡 CHALLENGE
Как проверить, что каждый элемент массива arr — NaN? ⬆️
Как проверить, что каждый элемент массива arr — NaN? ⬆️
Anonymous Quiz
6%
el == NaN
76%
Number.isNaN(el)
13%
typeof el === 'NaN'
4%
такая проверка невозможна в JS без специальных библиотек
❤2👍1
Это последний пост про NaN - обещаем (по крайней мере, в этом году 🙂↕️)
Сегодня поговорим про глобальную функцию isNaN() и ее собрата - статический метод Number.isNaN()
Сегодня поговорим про глобальную функцию isNaN() и ее собрата - статический метод Number.isNaN()
console.log(Number.isNaN("NaN"));
console.log(isNaN("NaN"));😁2
🟡 CHALLENGE
Что выведет консоль? ⬆️
Что выведет консоль? ⬆️
Anonymous Quiz
16%
true, true
51%
false, true
18%
true, false
16%
false, false
❤3