Type inference je TypeScript automaticky zjišťující typy z kontextu, takže nemusíte anotovat všechno. Odvozuje ze počátečních hodnot, return statements a použití.
ts
x = ;
s = ;
arr = [, ];
obj = { : , : };
Type inference je TypeScript automaticky zjišťující typy z kontextu, takže nemusíte anotovat všechno. Odvozuje ze počátečních hodnot, return statements a použití.
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
Toto kontextové typování je důvod, proč callbacky zřídka potřebují anotace parametrů — TypeScript ví, že map na number[] předává number.
let a = "hello"; // widened to string (let can be reassigned)
const b = "hello"; // narrowed to the literal type "hello"
const odvodí literálný typ, protože se nikdy nemůže změnit; let se rozšíří na obecný typ. To je důležité pro unie:
const dir = "up"; // type "up"
let dir2 = "up"; // type string
string ne literál).const xs = [] odvodí any[] — anotujte jako number[].Inference uchovává kód TypeScript skoro stejně stručný jako JavaScript a přitom zůstává plně typovaný.
Rozvoje, kdy se aktivuje (a kdy se rozšíří), vám umožňuje anotovat pouze tam, kde to opravdu pomáhá.
Knihovna IT otázek k pohovoru s podrobnými odpověďmi — od Junior po Senior.
Přispět