TypeScriptKonfiguracja tsconfig
"noImplicitAny"
Zgłasza błąd, gdy kompilator musiałby po cichu przyjąć typ any.
Przykład
#TypeScript
function totalPoints(scores) {
// Błąd: Parameter 'scores' implicitly has an 'any' type.
return scores.reduce((a, b) => a + b, 0)
}
function totalPointsTyped(scores: number[]) {
return scores.reduce((a, b) => a + b, 0)
}
console.log(totalPointsTyped([10, 20, 30]))Wynik
60
Definicja i zastosowanie
#Przy włączonej opcji noImplicitAny kompilator nie pozwala zostawić parametru czy zmiennej bez typu, jeśli nie da się go wywnioskować. Bez niej takie miejsca dostają niejawnie typ any i przestają być sprawdzane.
Opcja jest częścią trybu strict. W praktyce oznacza, że każdy parametr funkcji musi mieć typ, chyba że wynika on z kontekstu, na przykład w funkcji zwrotnej przekazanej do map().
Świadome użycie any przez jawny zapis nadal jest dozwolone. Opcja wyłapuje tylko przypadki, w których any pojawiło się przez przeoczenie.
Składnia
#Składnia
"noImplicitAny": trueDobre praktyki
#- W funkcjach zwrotnych typ parametru zwykle wynika z kontekstu, więc nie trzeba go pisać.
- Jeśli naprawdę potrzebujesz
any, zapisz go jawnie. Będzie widoczny w przeglądzie kodu.
Powiązane hasła
#- "strict"Włącza zestaw najważniejszych, rygorystycznych sprawdzeń kompilatora.
- anyTyp wyłączający sprawdzanie: wartość może być czymkolwiek.
- unknownBezpieczny odpowiednik any: wartość nieznanego typu, której trzeba najpierw sprawdzić.
- Typy funkcjiTypowanie parametrów, wartości zwracanej i samych funkcji jako wartości.
Widzisz błąd albo brakuje przykładu? Napisz do nas.