2 самые большие проблемы ts в 2 концепциях: 1. суперсет динамического языка (purescript, dart, clojurescript никогда не скатятся в any, но typescript надо изрядно помучить составляя дженерик, чтоб HOF не скатилась в any) 2. никакого рантайма языка (ms ставит это как плюс, но именно изза этого указание типа у аргумента функции не гарантирует мне, что придет именно этот тип)
2 самые большие проблемы ts в 2 концепциях: 1. суперсет динамического языка (purescript, dart, clojurescript никогда не скатятся в any, но typescript надо изрядно помучить составляя дженерик, чтоб HOF не скатилась в any) 2. никакого рантайма языка (ms ставит это как плюс, но именно изза этого указание типа у аргумента функции не гарантирует мне, что придет именно этот тип)
В java тоже никто не гарантирует тип, я могу скастить любой объект и получить ошибку в рантайм
После jit v8 знает столько же от типах сколько jvm
v8 вычисляет типы наблюдая за выполнением, и даже убедившись в типе он добавляет проверку на то, что пришел другой тип и нужно откатится) jvm знает тип сразу как прочитала байт код, еще до запуска
Всем привет ребята. Вопрос у меня к тем кто плотно юзает jest. Пытался отловить ошибку через expect(foo()).rejects.toThrowError() . Ошибка ловится, но на консоли все равно остаётся UnhandledRejection. Это баг или так должно быть? Ошибка идёт из асинхронной функции(foo ())
самая большая моя притензия к ts: вот пишу я либу на ts и выкладываю на npm (естественно скомпиленную, ибо иначе никак) потом ставит мою либу ктото кто не юзает ts и пихает мне на вход что угодно... нет он конечно сам дурак, но ts никак мне не подсказывает, что вот этот экспорт идет за пределы пакета, где может быть любая дичь и надо бы рантайм проверку добавить, хотя вполне мог бы вставить эту проверку сам
самая большая моя притензия к ts: вот пишу я либу на ts и выкладываю на npm (естественно скомпиленную, ибо иначе никак) потом ставит мою либу ктото кто не юзает ts и пихает мне на вход что угодно... нет он конечно сам дурак, но ts никак мне не подсказывает, что вот этот экспорт идет за пределы пакета, где может быть любая дичь и надо бы рантайм проверку добавить, хотя вполне мог бы вставить эту проверку сам
самая большая моя притензия к ts: вот пишу я либу на ts и выкладываю на npm (естественно скомпиленную, ибо иначе никак) потом ставит мою либу ктото кто не юзает ts и пихает мне на вход что угодно... нет он конечно сам дурак, но ts никак мне не подсказывает, что вот этот экспорт идет за пределы пакета, где может быть любая дичь и надо бы рантайм проверку добавить, хотя вполне мог бы вставить эту проверку сам
ну сделай сам проверку в функции которую экспортишь наружу если тебя это волнует