Size: a a a

2020 April 23

SP

Stanislav Popov in rust_offtopic
причем тут 10?
источник

ДБ

Дмитрий Беляев... in rust_offtopic
Stanislav Popov
в тс плейграунде

Operator '+' cannot be applied to types 'string | number' and 'string | number'.(2365)
конечно, потому что string | number динамика
источник

SP

Stanislav Popov in rust_offtopic
функия обьявлена на всем типе а не на части типа для которого она валидна
источник

SP

Stanislav Popov in rust_offtopic
Дмитрий Беляев
конечно, потому что string | number динамика
нет. string | number это сумтип
источник

ДБ

Дмитрий Беляев... in rust_offtopic
Stanislav Popov
в тс плейграунде

Operator '+' cannot be applied to types 'string | number' and 'string | number'.(2365)
да, нужен рантайм typeof, чтоб отделить один тип от другого, в этом и разница
источник

SS

Stanislav Sagan in rust_offtopic
Лучше на такие сайты ваще не попадать
источник

SP

Stanislav Popov in rust_offtopic
Alex Zhukovsky
типы штука котоаря позволяет судить о валидности программы до запуска
^
источник

ДБ

Дмитрий Беляев... in rust_offtopic
Stanislav Popov
нет. string | number это сумтип
ты не можешь сказать что в нем, строка или число без рантайм проверки
источник

SP

Stanislav Popov in rust_offtopic
Leonid 🦇 Onokhov
могу послать на хуй за то что путаешь типы и теги, не более
^
источник

SP

Stanislav Popov in rust_offtopic
λоλторт
Не можешь. У тебя один тип на всю программу ^
^
источник

SP

Stanislav Popov in rust_offtopic
Дмитрий Беляев
да, нужен рантайм typeof, чтоб отделить один тип от другого, в этом и разница
не нужен. тип string | number говорит что в рантайме может прийти и строка и намбер. на этом статика кончается и то что ты делаешь в рантайме это вообще другие заботы
источник

SP

Stanislav Popov in rust_offtopic
Дмитрий Беляев
ты не можешь сказать что в нем, строка или число без рантайм проверки
я могу сказать что там или строка или намбер
источник

SP

Stanislav Popov in rust_offtopic
Stanislav Popov
статическая ли типизация в тс, пишет нам автор этих строк
реально я в тупике, серьезно
источник

SP

Stanislav Popov in rust_offtopic
у тебя походу конкретно предьявы к сумтипам. ну это уже мы проходили с царем
источник

ДБ

Дмитрий Беляев... in rust_offtopic
Дмитрий Беляев
function f(arg: string | number) {
 return arg + arg;
}

f(10);
f('wow')

какой тип у arg?
а если я вызову так:
f({} as any)
источник

SP

Stanislav Popov in rust_offtopic
Дмитрий Беляев
а если я вызову так:
f({} as any)
если ты вызовешь так то ты говоришь - тут статика перестает работать и я откатываюсь к динамике
источник

ДБ

Дмитрий Беляев... in rust_offtopic
Stanislav Popov
если ты вызовешь так то ты говоришь - тут статика перестает работать и я откатываюсь к динамике
вот только f то ничего не знает об этом, она свято уверена что придет string | number
источник

ДБ

Дмитрий Беляев... in rust_offtopic
а вот if(typeof arg === 'number')
мне гарантирует что в arg число, даже если я на голом js пишу, без всякого ts
источник

ДБ

Дмитрий Беляев... in rust_offtopic
но в рантайме ведь нет типов да?
источник

SP

Stanislav Popov in rust_offtopic
Дмитрий Беляев
вот только f то ничего не знает об этом, она свято уверена что придет string | number
ну естественно, потому что ты ее обманываешь. потому что any кастится в любой тип, опять же потому что any динамична и подразумевает что ты сам знаешь что делаешь
источник