1. 如果定义的时候没有赋值,不管之后有没有赋值,都会被推断成 any 类型而完全不被类型检查

    let myFavoriteNumber;
    myFavoriteNumber = 'seven';
    myFavoriteNumber = 7; 
  2. 当 TypeScript 不确定一个联合类型的变量到底是哪个类型的时候,我们只能访问此联合类型的所有类型里共有的属性或方法

    function getLength(something: string | number): number {
        return something.length;
    }

    上例中,length 不是 stringnumber 的共有属性,所以会报错。

访问 stringnumber 的共有属性是没问题的:

泛型

泛型函数

T 表示泛型,具体是什么类型是调用这个方法时决定的。

function getData<T>(value:T):T{
    return value;
}
// 使用
getData<number>(234)
// 错误
getada<number>('dafd~~~~')

泛型接口


张长长
67 声望4 粉丝