Ce face noImplicitUseStrict
Opțiunea face parte din „Backwards Compatibility”: a fost marcată ca depreciată în TypeScript 5.0 și scoasă în TypeScript 5.5. În tsc 5.9, prezența ei în tsconfig.json dă eroarea TS5102, iar "ignoreDeprecations": "5.0" nu mai ajută. Șterge-o din configurație.
noImplicitUseStrict împiedica tsc să adauge "use strict"; la începutul fișierelor generate. Era folosită pentru cod vechi care depindea de comportamentul „sloppy” al JavaScript-ului. Modulele sunt însă oricum în mod strict, deci opțiunea a devenit inutilă.
Pentru scripturi simple, "alwaysStrict": false (implicit când strict nu este pornit) are efectul dorit. Mai bine: adaptează codul să funcționeze în mod strict.
Parametri
| Parametru | Descriere |
|---|---|
noImplicitUseStrict |
Scoasă. Dă TS5102. |
Exemple
Exemplul 1: Eroarea în tsc 5.9
Configurația nu mai este acceptată.
// tsconfig.json
{
"compilerOptions": {
"target": "es2022",
"noImplicitUseStrict": true
}
}
Rezultat (tsc 5.9)
$ npx tsc
tsconfig.json(4,5): error TS5102: Option 'noImplicitUseStrict' has been removed. Please remove it from your configuration.
Greșeli frecvente
- Să încerci să scoți
"use strict"dintr-un fișier CommonJS generat. Modulele sunt strict; codul care nu merge în mod strict trebuie reparat.
Comenzi înrudite
alwaysStrict: Verifică fiecare fișier în modul strict al JavaScript și scrie „use strict” în fișierele .js generate.strict: Pornește dintr-o singură mișcare toate verificările stricte de tipuri (strictNullChecks, noImplicitAny și celelalte).moduleDetection: Decide când un fișier este modul (cu scope propriu) și când este script global; force face din fiecare fișier un modul.