@typescript_ru

Страница 651 из 669
Сергей
14.06.2018
14:18:29
Denis
14.06.2018
14:19:26
Когда они хуевый дизайн

Сергей
14.06.2018
14:19:34
Ситуация оч напоминает С++11
о, там тоже жопа теперь

Google
Denis
14.06.2018
14:19:36
Пытаются пофиксить

Усложнениями

Anton
14.06.2018
14:19:55
сколько нужно ещё обозначений чтобы разрабы тс успокоились?
так они же из реальных кейсов исходят. сколько надо будет, столько и добавят :) это ж всё не взаимозаменяемо

Сергей
14.06.2018
14:20:39
так они же из реальных кейсов исходят. сколько надо будет, столько и добавят :) это ж всё не взаимозаменяемо
ну да, есть языки, которые позволяют все эти кейсы описывать минимумом конструкций, но тс добавляет ещё конструкций, чтобы эджкейсов было ещё больше, и нужно было добавлять ещё конструкций, чтобы как-то управлять новыми эджкейсами

так они же из реальных кейсов исходят. сколько надо будет, столько и добавят :) это ж всё не взаимозаменяемо
покажи мне язык, где есть void, any, never и unknown вместе? а потом ответь, почему остальные языки без этого отлично живут?

kana
14.06.2018
14:22:37
never нужен, это важно any нужен (в случае js) какой-то аналог mixed (unknown?) нужен, так как это не any void это же просто null | undefined? тоже нужен

Anton
14.06.2018
14:23:12
покажи мне язык, где есть void, any, never и unknown вместе? а потом ответь, почему остальные языки без этого отлично живут?
Отвечаю. Отличие TS от других языков в том, что мы пытаемся затипизировать по максимуму то, что законно в JS. Поэтому нам нужны все эти типы, а в других языках в них нет необходимости

Vladimir
14.06.2018
14:23:48
Там есть все то же самое

Aleh
14.06.2018
14:23:54
void, never, unknown, any, …
unknown это аналог mixed во flow

Сергей
14.06.2018
14:24:05
Google
Сергей
14.06.2018
14:24:33
потом ситуация с infer тоже очень странная

Vladimir
14.06.2018
14:24:37
never это empty

kana
14.06.2018
14:24:39
хаскель: - есть never - есть mixed/unknown через Typeable - для void это вроде как просто unit - any нет (ну хотя вроде есть, но я не использовал и думаю это будет тот же mixed)

Vladimir
14.06.2018
14:24:46
unknown это mixed

any есть, void есть

kana
14.06.2018
14:25:04
flow: - есть never - есть unknown - есть void - есть any

Сергей
14.06.2018
14:25:40
какой синтаксис в unknown?
ключевое слово?

Aleh
14.06.2018
14:26:47
зарезервированный тип, как и везде)

Сергей
14.06.2018
14:26:47
flow: - есть never - есть unknown - есть void - есть any
где во флоу never? я чет найти в доке не могу

Aleh
14.06.2018
14:27:09
empty

never это empty

Сергей
14.06.2018
14:28:08
бляяя

kana
14.06.2018
14:28:19
empty является одним из ключевых типов в принципе, на его основе все остальные строятся

Aleh
14.06.2018
14:28:43
это юнит типа

Сергей
14.06.2018
14:28:49
короч я понял) типизация в жс это бессмысленная вещь

kana
14.06.2018
14:28:50
все типы это есть перечисления (сумма) возможных литералов, empty в это включен

Google
kana
14.06.2018
14:29:01
поэтому если мы все кейсы рассмотрим

то останется только empty

kana
14.06.2018
14:29:13
поэтому он и работает в switch default

Сергей
14.06.2018
14:29:16
да

я понял

но блядь об этом забыл

а почему в тс never назвали?

?

и unknown?

в чем логика?

kana
14.06.2018
14:31:17
never потому что у этого типа НИКОГДА не будет значения, мы никогда не сможем создать терм типа never, никогда не сможем его передать, никогда не сможем с ним работать самое популярное название (вне жс) этого типа Void но в жс (и в еще многих языках) void-ом почему-то называют Unit

kana
14.06.2018
14:31:49
и unknown?
как и mixed. Это значит, что у терма есть четкий тип (это не any, когда типа нет), просто мы его не знаем, нужно матчить

тогда зачем иметь void и never вместе?
в жс void = unit из хаскеля, never = void из хаскеля

kana
14.06.2018
14:32:48
нет, он нам неизвестен, наоборот. Смешанный и значит, что он есть, но неизвестно какой, без рантайм матча никуда

Сергей
14.06.2018
14:32:50
в жс void = unit из хаскеля, never = void из хаскеля
знаешь что я думаю? в тс долбоебы придумывают названия сущностям

kana
14.06.2018
14:33:03
ну тут не тс, в сишке тоже void = unit из теории древний диснейминг

Google
Eugene
14.06.2018
14:33:44
дичь

Сергей
14.06.2018
14:34:08
покажи мне кейс, где void и never имеют разницу

George
14.06.2018
14:34:18
когда паттерн матчинг в тс завезут?

Сергей
14.06.2018
14:34:21
лол

покажи мне кейс, где void и never имеют разницу
потому что сейчас я вижу усложнение на пустом месте

George
14.06.2018
14:34:50
Aleh
14.06.2018
14:35:03
или throw внутри

Сергей
14.06.2018
14:35:07
George
14.06.2018
14:35:22
ну вот и разница

вернуть ничего или не вернуть ничего

Aleh
14.06.2018
14:35:33
function(): void {}
нет, never никогда ничего не вернет, а void это undefined в твоем случае

Сергей
14.06.2018
14:35:50
охуеть

kana
14.06.2018
14:36:03
// @flow function f(x: mixed) { // тут не известен if (typeof x === "number") { // тут известен console.log(x); } } function g(x: any) { // тут не известен if (typeof x === "number") { // тут все еще неизвестен, потому что типа в принципе нет у переменной console.log(x); } }

Сергей
14.06.2018
14:36:03
в жс разницы 0

Aleh
14.06.2018
14:36:08
@kana_sama ж правильно описал

Сергей
14.06.2018
14:36:11
вернет ничего или не вернет ничего

какая нахуй разница в жс

Google
Сергей
14.06.2018
14:36:20
один хер undefined

kana
14.06.2018
14:36:21
в тс я так понимаю unknown то же самое, что и mixed - не узнаем пока не сматчим

Aleh
14.06.2018
14:36:40
один хер undefined
нет, в случае never у тебя никогда не будет значения, даже undefined не будет

kana
14.06.2018
14:36:51
function(): void {}
есть разница

Aleh
14.06.2018
14:36:56
в жс
в жс тоже

const a = f()

Сергей
14.06.2018
14:37:01
kana
14.06.2018
14:37:10
f(x: never): int обозначает функцию, которую невозможно вызвать

Aleh
14.06.2018
14:37:13
в случае void у a будет значение, в случае never никогда присвоения не произойдет

Aleh
14.06.2018
14:37:26
нет, не будет

Сергей
14.06.2018
14:37:30
бля

да ну нахуй

Aleh
14.06.2018
14:37:39
function f() { throw new Error }

Сергей
14.06.2018
14:37:45
эээ

kana
14.06.2018
14:38:06
присвоения не будет



потому что упадет еще до этого

Страница 651 из 669