Tiukkuusasetukset
Ottakaa tiukkuusasetukset käyttöön turvallisemman koodin saavuttamiseksi: strict, noImplicitAny, exactOptionalPropertyTypes ja noUncheckedIndexedAccess.
Tiukkuusasetukset on ilmainen TypeScript Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu TypeScript Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. TypeScript Academy-kurssilla on yhteensä 3 oppituntia.
Johdanto
Tavoite: Ottakaa käyttöön tärkeimmät strictness-asetukset ja ymmärtäkää niiden toiminta. Nämä asetukset aikaistavat virheiden havaitsemista ja parantavat IDE:n ehdotuksia.
- strict
- noImplicitAny
- exactOptionalPropertyTypes
- noUncheckedIndexedAccess
strict + noImplicitAny
strict ottaa käyttöön useita tarkistuksia kerralla. noImplicitAny kieltää tyypittömät parametrit ja muuttujat, joiden tyypiksi muuten tulisi oletusarvoisesti any.
// tsconfig.json (excerpt)
{
"compilerOptions": {
"strict": true,
"noImplicitAny": true
}
}
// Effect demo
function sum(a, b) { // Error: implicit any
return a + b;
}
function sumOk(a: number, b: number): number {
return a + b;
}exactOptionalPropertyTypes
exactOptionalPropertyTypes erottaa toisistaan puuttuvan ja olemassa olevan mutta undefined-arvoisen kentän. Tämä sopii erinomaisesti API-mallinnukseen.
// exactOptionalPropertyTypes: true
interface User { name?: string }
const u1: User = {}; // ok: name is absent
const u2: User = { name: undefined }; // Error when exactOptionalPropertyTypes is true
function greet(u: User) {
if ("name" in u) {
// name exists but could be undefined without this flag
console.log("Hi", u.name);
}
}Indeksoitu käyttö (taulukko)
Taulukon indeksoinnin tulostyyppi on nyt T | undefined. Tarkistakaa arvo ennen sen käyttöä ajonaikaisten kaatumisten välttämiseksi.
// noUncheckedIndexedAccess: true
const xs: number[] = [1,2,3];
const maybe = xs[5]; // type: number | undefined
if (maybe !== undefined) {
console.log(maybe.toFixed(0));
}Indeksoitu käyttö (map)
Olion ja Record<K,V>-tyypin indeksoinnin tuloksiin sisältyy undefined, kunnes olette varmistaneet arvon olemassaolon.
// Also affects records/maps
const byId: Record<string, { id: string }> = {};
const item = byId["x"]; // { id: string } | undefined
if (item) {
console.log(item.id);
}Strict-esiasetus
Aloittakaa strict-asetuksella ja löysentäkää sitä vain tarvittaessa. Nämä asetukset estävät yleisiä virheitä lisäämättä juuri lainkaan häiriöitä uuteen koodiin.
// tsconfig.json (excerpt)
{
"compilerOptions": {
"strict": true,
"noImplicitAny": true,
"exactOptionalPropertyTypes": true,
"noUncheckedIndexedAccess": true
}
}Indeksoidun käytön tarkistus
Pikatarkistus: Mitä noUncheckedIndexedAccess muuttaa?
Kertaus
Kertaus: strict ottaa käyttöön turvallisemmat oletukset; noImplicitAny löytää puuttuvat tyypit; exactOptionalPropertyTypes mallintaa valinnaiset kentät täsmällisesti; noUncheckedIndexedAccess edellyttää olemassaolon tarkistamista.
Opi TypeScript tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 101
- Oppitunnit
- 352
Usein kysytyt kysymykset
Onko oppitunti ”Tiukkuusasetukset” ilmainen?
Kyllä – oppitunnin ”Tiukkuusasetukset” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko TypeScript Academy-kurssin, päivitä CoddyKit PROhon. TypeScript Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”Tiukkuusasetukset”?
Ottakaa tiukkuusasetukset käyttöön turvallisemman koodin saavuttamiseksi: strict, noImplicitAny, exactOptionalPropertyTypes ja noUncheckedIndexedAccess. Harjoittelet TypeScript Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni TypeScript Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin TypeScript Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/3.
Kuinka kauan ”Tiukkuusasetukset”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä TypeScript Academy-oppitunnilla?
Kyllä. Jokainen TypeScript Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Tiukkuusasetukset
- Target-, lib-, module- ja JSX-asetukset
- Project References (johdanto)