Комментарии 1
устранена проблема, при которой ошибки могли быть допущены в процессе написания кода, но они все равно считались допустимым кодом JavaScript и принимались. Теперь компилятор будет отслеживать и выдавать ошибки, когда сможет синтаксически определить истинную или нулевую проверку
Вообще ничего не понятно. Смысл в том, что в JS некоторые типичные опечатки являются валидным кодом, который при этом делает совсем не то, что хочет пользователь, например:
if(/abc/) { ... } // забыли .test(...)
if(x => 0) { ... } // имелось в виду x >= 0, а получилась лямбда
if(a < foo.bar ?? 100) { ... } // парсится как (a < foo.bar) ?? 100
В этих случаях теперь будут варнинги, что условие всегда истинно. При этом, в случаях типа while(true)
варнинга не будет, поскольку это распространенный паттерн.
Также ничего не сказано при киллер-фичу, что у итераторов появились аналогичные массивам методы map
, filter
, take
и т.д.
Релиз TypeScript 5.6