Skip to content
Shimon's BlogShimon's Blog
主页
杂谈
  • 主页
      • 代码笔记
          • 代码学习教程
              • TypeScript 教程
                  • 基础
                    • 任意值
                      • 什么是任意值类型
                        • 任意值的属性和方法
                          • 未声明类型的变量
                            • 参考
                            • 内置对象
                              • 函数的类型
                                • 原始数据类型
                                  • 声明文件
                                    • 对象的类型——接口
                                      • 数组的类型
                                        • 类型推论
                                          • 类型断言
                                            • 联合类型
                                          • 如何学习一门计算机语言

                                        任意值

                                        Shimon Zhan2022年4月19日
                                        • TypeScript
                                        小于 1 分钟

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

                                        任意值(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");
                                        

                                        # 参考

                                        • Basic Types # Anyopen in new window(中文版open in new window)
                                        上次编辑于: 2022/4/19 07:13:07
                                        贡献者: ShimonZhan
                                        上一页
                                        基础
                                        下一页
                                        内置对象
                                        Copyright © 2021-present Shimon Zhan