Skip to content
静心静心
HOME
DoubtfulCases
github icon
  • Typescript基础

    • 原始数据类型
      • 任意值
        • 什么是任意值类型
          • 任意值的属性和方法
            • 未声明类型的变量
              • 参考
              • 类型推论
                • 联合类型
                  • 对象的类型——接口
                    • 数组的类型
                      • 函数的类型
                        • 类型断言
                          • 声明文件
                            • 内置对象
                            • Typescript进阶

                              • 类型别名
                                • 字符串字面量类型
                                  • 元组
                                    • 枚举
                                      • 类
                                        • 类与接口
                                          • 泛型
                                            • 声明合并
                                              • 扩展阅读

                                              任意值

                                              author iconYYtimer icon小于 1 分钟

                                              此页内容
                                              • 什么是任意值类型
                                              • 任意值的属性和方法
                                              • 未声明类型的变量
                                              • 参考

                                              # 任意值

                                              任意值(Any)用来表示允许赋值为任意类型。

                                              # 什么是任意值类型

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

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

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

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

                                              # 任意值的属性和方法

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

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

                                              也允许调用任何方法:

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

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

                                              # 未声明类型的变量

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

                                              let something;
                                              something = 'seven';
                                              something = 7;
                                              
                                              something.setName('Tom');
                                              
                                              1
                                              2
                                              3
                                              4
                                              5

                                              等价于

                                              let something: any;
                                              something = 'seven';
                                              something = 7;
                                              
                                              something.setName('Tom');
                                              
                                              1
                                              2
                                              3
                                              4
                                              5

                                              # 参考

                                              • Basic Types # Anyopen in new window(中文版open in new window)
                                              edit icon编辑此页open in new window
                                              上一页
                                              原始数据类型
                                              下一页
                                              类型推论
                                              傻瓜都能写出计算机可以理解的代码。唯有能写出人类容易理解的代码的,才是优秀的程序员。
                                              Copyright © 2022 YY

                                              该应用可以安装在您的 PC 或移动设备上。这将使该 Web 应用程序外观和行为与其他应用程序相同。它将在出现在应用程序列表中,并可以固定到主屏幕,开始菜单或任务栏。此 Web 应用程序还将能够与其他应用程序和您的操作系统安全地进行交互。

                                              详情