🟡 CHALLENGE
Что выведет консоль? ⬆️
Что выведет консоль? ⬆️
Anonymous Quiz
14%
Ошибка компиляции: 'metrics' does not exist in type 'Config'
5%
Ошибка компиляции: Duplicate identifier 'Config'
71%
{ "debug": true, "logLevel": 2, "metrics": { "enabled": true } }
10%
{ "debug": true, "logLevel": 2 }
🔥1🤓1
🟢 KNOWLEDGE CHECK
Что такое ECMAScript?⬇️
Что такое ECMAScript?⬇️
Anonymous Quiz
20%
Транспилятор для преобразования современного JS в старый синтаксис
70%
Спецификация для скриптовых языков программирования
3%
JIT-компилятор, используемый в V8 и SpiderMonkey
7%
Движок для обработки JavaScript в браузерах
🔥1👨💻1
const colors1 = {
red: "#FF0000",
green: "#00FF00",
} as Record<string, string>;
const colors2 = {
red: "#FF0000",
green: "#00FF00",
} satisfies Record<string, string>;
const hex1 = colors1.red;
const hex2 = colors2.red;
🟡 CHALLENGE
Какой тип TypeScript выведет для переменных hex1 и hex2? ⬆️
Какой тип TypeScript выведет для переменных hex1 и hex2? ⬆️
Anonymous Quiz
52%
string и string
37%
string и "#FF0000"
0%
Обе константы будут иметь тип unknown из-за конфликта типизации
✍1🔥1
🔴 CHALLENGE
Что произойдет при компиляции этого кода? ⬆️
Что произойдет при компиляции этого кода? ⬆️
Anonymous Quiz
25%
Предупреждение: использование модификатора out устарело
17%
Ошибка: свойство set не совместимо с модификатором out
4%
Ошибка: свойство get не совместимо с модификатором out
33%
Ошибка: модификатор out не существует в TS
21%
Код скомпилируется без ошибок
🤓2🔥1
🟡 KNOWLEDGE CHECK
Что такое distributive conditional types в TypeScript?⬇️
Что такое distributive conditional types в TypeScript?⬇️
Anonymous Quiz
30%
Механизм распространения условий типа на элементы объединения
39%
Процесс преобразования типов в условных выражениях
4%
Синиаксис для условного объединения интерфейсов
26%
Механизм распределения свойств объектов между типами
❤1🔥1🤓1
type Type<T, U> = T extends U ? never : T;
type Result = Type<"a" | "b" | "c", "a">;
🟡 CHALLENGE
Какой тип у Result? ⬆️
Какой тип у Result? ⬆️
Anonymous Quiz
14%
"a"
25%
"b" | "c"
32%
never
29%
"a" | "b" | "c"
✍2
🟢 CHALLENGE
Что выведет консоль? ⬆️
Что выведет консоль? ⬆️
Anonymous Quiz
13%
undefined
52%
1
31%
2
3%
ReferenceError: a is not defined
❤2🔥1
function func<T>(value: NoInfer<T>) {
return value;
}
const result = func("test");
❤1🔥1
🟡 KNOWLEDGE CHECK
Что такое перегрузка сигнатур в TypeScript? ⬇️
Что такое перегрузка сигнатур в TypeScript? ⬇️
Anonymous Quiz
24%
Способ объединения нескольких функций в одну
12%
Переопределение методов родительского класса при наследовании
20%
Динамическое изменение реализации функции в зависимости от типов
44%
Возможность объявить несколько вариантов типов для параметров и возвращаемого значения функции
❤1🔥1
🟢 KNOWLEDGE CHECK
Что такое абстрактный класс? ⬇️
Что такое абстрактный класс? ⬇️
Anonymous Quiz
70%
Класс, который нельзя инстанциировать
22%
Класс с опциональной реализацией методов
0%
Класс только со статическими методами и свойствами
9%
Класс с приватным конструктором, который нельзя расширить
❤1🔥1
const obj = {};
const b = { key: "value 1" };
const c = { key: "value 2" };
obj[b] = 111;
obj[c] = 222;
console.log(obj[b])
🟢 CHALLENGE
Что выведет консоль? ⬆️
Что выведет консоль? ⬆️
Anonymous Quiz
64%
111
14%
222
14%
Ошибка: Cannot assign to "obj" because it is a constant
7%
{ key: "value 1" }
❤2🥴2
🔴 KNOWLEDGE CHECK
Для чего используется FinalizationRegistry в JavaScript? ⬇️
Для чего используется FinalizationRegistry в JavaScript? ⬇️
Anonymous Quiz
8%
Для принудительной сборки мусора по требованию
58%
Для регистрации колбэков, вызываемых при удалении объектов сборщиком мусора
17%
Для создания неизменяемых структур данных
17%
Для создания постоянных ссылок на объекты
🔥2
enum Enum1 { A = 1 }
const enum Enum2 { B = 2 }
const a = Enum1[1];
const b = Enum2[2];
console.log(a, b);
🟠 CHALLENGE
Что выведет коносль? ⬆️
Что выведет коносль? ⬆️
Anonymous Quiz
31%
"A" и "B"
8%
1 и 2
15%
Ошибка компиляции для Enum1
46%
Ошибка компиляции для Enum2
❤1