История изменений
Исправление lesopilorama, (текущая версия) :
Такого не бывает. Ты всегда понимаешь, что age - это число, username и password - строки, а isAuthed - тип для буллинга.
Всё сложнее. Была функция, которая принимала obj
и ИНОГДА вызывала у него obj.hello()
. Про неё все забыли, она глубоко в недрах. У объекта в какой-то момент пропала hello()
и была заменена на что-то другое или может быть в hello()
появился аргумент.
Так вот хотелось бы, чтобы компилятор мне до деплоя кода на прод сказал, что hello() нет, а ты вызываешь
или ты забыл аргумент
.
Или у obj
был тип Skotina
, а теперь туда случайно передали bool
. Внутри функции, куда это передали, нет особо ничего умного - аргумент проверялся на == undefined
зачем-то по историческим причинам и оба варианта работали в JS. Но это выглядит не надёжно и жопно, хочется на этапе компиляции поймать много замечаний.
Исправление lesopilorama, :
Такого не бывает. Ты всегда понимаешь, что age - это число, username и password - строки, а isAuthed - тип для буллинга.
Всё сложнее. Была функция, которая принимала obj
и ИНОГДА вызывала у него obj.hello()
. Про неё все забыли, она глубоко в недрах. У объекта в какой-то момент пропала hello()
и была заменена на что-то другое или может быть в hello()
появился аргумент.
Так вот хотелось бы, чтобы компилятор мне до деплоя кода на прод сказал, что hello() нет, а ты вызываешь
или ты забыл аргумент
.
Или у obj
был тип Skotina
, а теперь туда случайно передали bool
. Внутри функции, куда это передали, нет особо ничего умного - аргумент проверялся на == undefined
например и оба варианта работали в JS. Но это выглядит не надёжно и жопно, хочется на этапе компиляции поймать много замечаний.
Исходная версия lesopilorama, :
Такого не бывает. Ты всегда понимаешь, что age - это число, username и password - строки, а isAuthed - тип для буллинга.
Всё сложнее. Была функция, которая принимала obj
и ИНОГДА вызывала у него obj.hello()
. Про неё все забыли, она глубоко в недрах. У объекта в какой-то момент пропала hello()
и была заменена на что-то другое или может быть в hello()
появился аргумент.
Так вот хотелось бы, чтобы компилятор мне до деплоя кода на прод сказал, что hello() нет, а ты вызываешь
или ты забыл аргумент
.