类型推论
// 类型推论,即,在TypeScript里,类型是在哪里如何被推断的。
// 在有些没有明确指出类型的地方,类型推论会帮助提供类型
let x = 3; // 推断发生在初始化变量和成员,设置默认参数值和决定函数返回值时
// 最佳通用类型,从几个表达式中推断类型时候,会使用这些表达式的类型来推断出一个最合适的通用类型
let y = [0, 1, null];
// 当候选类型不能使用的时候我们需要明确的指出类型
let zoo: Animal[] = [new Rhino(), new Elephant(), new Snake()];
// 上下文类型:按上下文归类会发生在表达式的类型与所处的位置相关时
// 通常包含函数的参数,赋值表达式的右边,类型断言,对象成员和数组字面量和返回值语句
window.onmousedown = function(mouseEvent) {
console.log(mouseEvent.button); //<- Error
};
window.onmousedown = function(mouseEvent: any) { // 明确参数类型
console.log(mouseEvent.button);
};
复制代码