strict
Cała rodzina naraz
Nie tyle opcja, co abonament: włącza osiem innych kontroli i włącza też te dodane już po tym, jak napisałeś swój tsconfig.
- Od
- TypeScript 2.3
- W twoim tsconfigu
"strict": true
Ten sam fragment za każdym razem. Zmieniła się tylko opcja.
Z wyłączoną
"strict": falseexport function len(s: string | null) { return s.length }
Kompiluje się czysto
Z włączoną
"strict": trueexport function len(s: string | null) { return s.length }
Zgłasza TS18047
Dlaczego kompilator się tym przejmuje
Każda flaga pod tą istnieje dlatego, że jakaś kategoria awarii w czasie wykonania ma swój cień w czasie kompilacji. Włączanie ich pojedynczo to sposób, w jaki baza kodu kończy z siedmioma z ośmiu — bez tej jednej, która miała znaczenie. Zachowanie abonamentowe jest zaletą, nie pułapką: wydanie dokładające nową kontrolę dokłada ją do twojego builda, a to jedyny sposób, żeby ustawienie surowości znaczyło wciąż to samo, gdy język pod spodem się zmienia.
Wniosek
Włącz ją najpierw, a potem wyłącz to, na co cię jeszcze nie stać — nie odwrotnie.
Gdzie iść dalej
Opcji: 22

