Przejdź do treści
webtype.orgwebtype.orgtsconfig

    ↑↓ ruch · ⏎ otwórz · esc zamknij

    tsconfig

    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": false
    export function len(s: string | null) {
      return s.length
    }

    Kompiluje się czysto

    Z włączoną

    "strict": true
    export 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