Типизация - ШРИ 2024

  Рет қаралды 1,783

Young&&Yandex

Young&&Yandex

14 күн бұрын

Рассмотрим TypeScript с точки зрения теории множеств, разберем контроль выполнения и дженерики.

Пікірлер: 7
@localhost666
@localhost666 10 күн бұрын
{} - [] будет NaN, а не -0
@mukhindev
@mukhindev 9 күн бұрын
Зависит от контекста в котором это выражение находится. {} - [] вернёт -0, ({} - []) вернёт NaN
@localhost666
@localhost666 9 күн бұрын
@@mukhindev а в чем собственно разница данных выражений?
@localhost666
@localhost666 9 күн бұрын
Признаю, действительно -0. Вопрос какого х*я?? Массив будет приведен к 0. Объект же е строке обжект обжект, которая далее станет NaN, итог NaN. Где ошибка в рассуждении?..
@mukhindev
@mukhindev 9 күн бұрын
​@@localhost666 без скобок {} определяется как блок (block statement), а со скобками как объект. Это особенности синтаксического разбора. К примеру, если это выражение присваивать через = переменной, парсеру однозначно понятно что {} не блок и будет тоже NaN.
@mukhindev
@mukhindev 9 күн бұрын
По приведению массива к 0. Сначала возвращается пустая строка "", затем приведение пустой строки к числу (из-за +) даст 0. См. про методы valueOf и toString. Можно вот так "хакнуть" const array = [] array.valueOf = () => { return 42 } console.log(array + 5) // 47
Типизация продвинутый  - ШРИ 2024
1:27:06
Young&&Yandex
Рет қаралды 1,1 М.
Khó thế mà cũng làm được || How did the police do that? #shorts
01:00
I CAN’T BELIEVE I LOST 😱
00:46
Topper Guild
Рет қаралды 69 МЛН
Тулинг - ШРИ 2024
3:07:56
Young&&Yandex
Рет қаралды 2,4 М.
Redis за 20 минут
23:22
suchkov tech
Рет қаралды 105 М.