TypeScript - Type Inference
Inference Basics
let x = 1; // number
const y = 2; // 2 (literal type)
let arr = [1, 2, 3]; // number[]
Contextual typing
window.addEventListener('click', e => {
// e is inferred as MouseEvent
console.log(e.clientX);
});
Return types
function sum(a: number, b: number) { return a + b } // inferred number
When to annotate
- Public API surfaces
- Functions returning unions or complex generic types
- When inference is unclear to readers