美文网首页TypeScript
TypeScript的任意类型

TypeScript的任意类型

作者: Lia代码猪崽 | 来源:发表于2019-10-17 10:18 被阅读0次

    本文摘自

    https://ts.xcatliu.com/basics/any


    什么是任意值类型

    如果是一个普通类型,在赋值过程中改变类型是不被允许的:

    let myFavoriteNumber: string = 'seven';
    myFavoriteNumber = 7;
    // index.ts(2,1): error TS2322: Type 'number' is not assignable to type 'string'.
    

    但如果是 any 类型,则允许被赋值为任意类型。

    let myFavoriteNumber: any = 'seven';
    myFavoriteNumber = 7;
    

    任意值的属性和方法

    在任意值上访问任何属性都是允许的:

    let anyThing: any = 'hello';
    console.log(anyThing.myName);
    console.log(anyThing.myName.firstName);
    

    也允许调用任何方法:

    let anyThing: any = 'Tom';
    anyThing.setName('Jerry');
    anyThing.setName('Jerry').sayHello();
    anyThing.myName.setFirstName('Cat');
    

    可以认为,声明一个变量为任意值之后,对它的任何操作,返回的内容的类型都是任意值

    未声明类型的变量

    变量如果在声明的时候,未指定其类型,那么它会被识别为任意值类型

    let something;
    something = 'seven';
    something = 7;
    something.setName('Tom');
    

    等价于

    let something: any;
    something = 'seven';
    something = 7;
    something.setName('Tom');
    

    参考

    相关文章

      网友评论

        本文标题:TypeScript的任意类型

        本文链接:https://www.haomeiwen.com/subject/qacmmctx.html