Type inference on TypeScriptin automaattista tyyppien selvittämistä kontekstista, joten sinun ei tarvitse merkitä kaikkea. Se päättelee alkuarvoista, return-lauseista ja käytöstä.
ts
x = ;
s = ;
arr = [, ];
obj = { : , : };
Type inference on TypeScriptin automaattista tyyppien selvittämistä kontekstista, joten sinun ei tarvitse merkitä kaikkea. Se päättelee alkuarvoista, return-lauseista ja käytöstä.
x = ;
s = ;
arr = [, ];
obj = { : , : };
function double(n: number) { return n * 2; } // return inferred as number
[1, 2, 3].map(n => n * 2); // `n` inferred as number from the array — no annotation needed
Tämä kontekstuaalinen tyypitys on syy siihen, miksi takaisinkutsut harvoin tarvitsevat parametrimerkintöjä — TypeScript tietää, että map number[]-arvolla välittää number-arvon.
let a = "hello"; // widened to string (let can be reassigned)
const b = "hello"; // narrowed to the literal type "hello"
const päättelee kirjaimellisen tyypin, koska se ei voi koskaan muuttua; let laajenee yleiseksi tyypiksi. Tämä on tärkeää yhdistelmille:
const dir = "up"; // type "up"
let dir2 = "up"; // type string
string ei kirjainta).const xs = [] päättelee any[] — merkitse number[]-arvoksi.Inference pitää TypeScript-koodin lähes yhtä ytimekkäänä kuin JavaScript mutta silti täysin tyypitettynä.
Ymmärtämällä milloin se aktivoituu (ja milloin se laajenee), voit merkitä vain kohdissa, joissa se todella auttaa.