const-väitteet ja as const
Käyttäkää as const -syntaksia literaali- ja tuple-tyyppien täsmälliseen päättelyyn
const-väitteet ja as const on ilmainen TypeScript Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. 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ä 4 oppituntia.
Mitä as const tarkoittaa
as const on tyyppiväite, joka käskee TypeScriptiä päättelemään lausekkeelle mahdollisimman täsmälliset literaalityypit ja tekemään kaikki ominaisuudet readonly-ominaisuuksiksi.
const colors = ["red", "green", "blue"] as const;
// type: readonly ["red", "green", "blue"]Laajentamisen estäminen as const -määritteellä
Ilman as const-määrettä taulukkojen ja olioiden merkkijonoarvot laajenevat tyypiksi string. Sen avulla ne säilyvät literaalityyppeinä.
const dir1 = { direction: "left" };
// dir1.direction: string
const dir2 = { direction: "left" } as const;
// dir2.direction: "left"as const olioliteraaleissa
Jokaisesta as const-määrettä käyttävän olion ominaisuudesta tulee readonly, ja se säilyttää literaalityyppinsä rekursiivisesti.
const theme = {
color: "dark",
sizes: { sm: 8, md: 16 },
} as const;
// theme.color: "dark", theme.sizes.sm: 8 (all readonly)as const -määre tuple-tyypeille
as const-määrettä käyttävistä taulukoista tulee readonly-tupleja, joiden alkioilla on literaalityypit. Tämä on hyödyllistä kiinteiden argumenttilistojen määrittämisessä.
const args = [1, "hello", true] as const;
// type: readonly [1, "hello", true]Unionityyppien johtaminen as const -määritteestä
Yleinen toimintamalli on määrittää arvojen as const-taulukko ja johtaa siitä unionityyppi käyttämällä typeof-operaattoria ja indeksoitua käyttöä.
const STATUSES = ["pending", "active", "done"] as const;
type Status = typeof STATUSES[number];
// type Status = "pending" | "active" | "done"as const funktioargumenteissa
Voitte käyttää as const-määrettä suoraan funktiokutsussa, jotta literaalityypit säilyvät kutsurajan yli.
function setMode(mode: "dark" | "light") {}
setMode("dark" as const); // safe, preserves literalReadonly-rekursio
as const soveltaa Readonly-tyyppiä rekursiivisesti. Sisäkkäisistä olioista ja taulukoista tulee readonly-tyyppisiä, mikä estää syvät muutokset.
const config = { db: { host: "localhost", port: 5432 } } as const;
// config.db.port = 5433; // Error: readonlyas const ja Object.freeze
as const on käännösaikainen väite, joka ei suojaa ajonaikaisesti. Object.freeze toimii ajonaikana. Niillä on toisiaan täydentävät tehtävät.
const obj = Object.freeze({ x: 1 }); // runtime immutability
const obj2 = { x: 1 } as const; // compile-time literal typesConst-assertiot ja tyyppimerkinnät
Tyyppimerkintä laajentaa tyyppiä: const x: string = "hi" saa tyypikseen string. as const kaventaa tyyppiä: const x = "hi" as const saa tyypikseen "hi".
const a: string = "hi"; // type: string
const b = "hi" as const; // type: "hi"Käytännön käyttö: enum-tyyppiset objektit
Monissa koodikannoissa käytetään as const -objekteja enumien vaihtoehtona. Näin vältetään enumien ongelmat ja säilytetään samalla tyyppiturvallisuus.
const Direction = { Up: "UP", Down: "DOWN" } as const;
type Direction = typeof Direction[keyof typeof Direction];
// "UP" | "DOWN"Kertaus: as const
as const saa TypeScriptin päättelemään literaalityypit ja käsittelemään kaikki ominaisuudet vain luku -ominaisuuksina. Se on välttämätön, kun taulukoista johdetaan täsmällisiä unionityyppejä ja rakennetaan turvallisia konfiguraatio-objekteja.
Pikatarkistus
Mitä as const tekee taulukolle?
Mitä opitte
as const on tehokas työkalu literaalityyppien säilyttämiseen, vain luku -rakenteiden luomiseen ja täsmällisten unionityyppien johtamiseen taulukoista. Se on edistyneiden TypeScript-mallien perusta.
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 ”const-väitteet ja as const” ilmainen?
Kyllä – oppitunnin ”const-väitteet ja as const” 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ä 4 oppituntia.
Mitä opin oppitunnilla ”const-väitteet ja as const”?
Käyttäkää as const -syntaksia literaali- ja tuple-tyyppien täsmälliseen päättelyyn 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 4/4.
Kuinka kauan ”const-väitteet ja as const”-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
- Tyyppien levenemisen ja kaventamisen mekanismit
- Kontekstuaalinen tyypitys: päättely kontekstista
- Freshness ja ylimääräisten ominaisuuksien tarkistus
- const-väitteet ja as const