noImplicitAny
Żadnej cichej rezygnacji
Parametr, którego kompilator nie potrafi wywnioskować, staje się `any` — ta flaga każe mu o tym powiedzieć.
- Od
- TypeScript 1.6
- strict
- W strict
- W twoim tsconfigu
"noImplicitAny": true
Ten sam fragment za każdym razem. Zmieniła się tylko opcja.
Z wyłączoną
"noImplicitAny": falseexport function twice(value) {
return value
}Kompiluje się czysto
Z włączoną
"noImplicitAny": trueexport function twice(value) {
return value
}Zgłasza TS7006
Dlaczego kompilator się tym przejmuje
Napisane przez ciebie `any` to decyzja. `any` wręczone przez kompilator, bo się poddał, to dziura, której nikt nie wybrał — i ona się rozchodzi: wszystko, czego dotknie ta wartość, jest od tego miejsca niesprawdzane. Flaga nie zakazuje `any` — zakazuje kompilatorowi wstawiać je bez uprzedzenia, dzięki czemu wyjście awaryjne zostaje dokładnie tam, gdzie powinno: w kodzie, podpisane twoim nazwiskiem.
Wniosek
Zostaw `any` dostępne i zostaw je jawne. To jest to samo ustawienie.
Gdzie iść dalej
Opcji: 22

