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

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

Young&&Yandex

Young&&Yandex

11 күн бұрын

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

Пікірлер: 7
@localhost666
@localhost666 7 күн бұрын
{} - [] будет NaN, а не -0
@mukhindev
@mukhindev 6 күн бұрын
Зависит от контекста в котором это выражение находится. {} - [] вернёт -0, ({} - []) вернёт NaN
@localhost666
@localhost666 6 күн бұрын
@@mukhindev а в чем собственно разница данных выражений?
@localhost666
@localhost666 6 күн бұрын
Признаю, действительно -0. Вопрос какого х*я?? Массив будет приведен к 0. Объект же е строке обжект обжект, которая далее станет NaN, итог NaN. Где ошибка в рассуждении?..
@mukhindev
@mukhindev 6 күн бұрын
​@@localhost666 без скобок {} определяется как блок (block statement), а со скобками как объект. Это особенности синтаксического разбора. К примеру, если это выражение присваивать через = переменной, парсеру однозначно понятно что {} не блок и будет тоже NaN.
@mukhindev
@mukhindev 6 күн бұрын
По приведению массива к 0. Сначала возвращается пустая строка "", затем приведение пустой строки к числу (из-за +) даст 0. См. про методы valueOf и toString. Можно вот так "хакнуть" const array = [] array.valueOf = () => { return 42 } console.log(array + 5) // 47
Типизация продвинутый  - ШРИ 2024
1:27:06
Young&&Yandex
Рет қаралды 1 М.
The child was abused by the clown#Short #Officer Rabbit #angel
00:55
兔子警官
Рет қаралды 14 МЛН
Increíble final 😱
00:37
Juan De Dios Pantoja 2
Рет қаралды 108 МЛН
Егор Зиборов - Java, сделай мне больно!
41:19
JPoint, Joker и JUG ru
Рет қаралды 2,5 М.
Просто о ООП (Парадигмы ООП)
21:14
webDev
Рет қаралды 41 М.
Библиотека Unsafe в Golang
27:24
Нина Пакшина
Рет қаралды 63
Архитектура - ШМР Android 2024
1:45:41
Young&&Yandex
Рет қаралды 212
The child was abused by the clown#Short #Officer Rabbit #angel
00:55
兔子警官
Рет қаралды 14 МЛН