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

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

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

                                          类型推论

                                          author iconYYtimer icon小于 1 分钟

                                          此页内容
                                          • 什么是类型推论
                                          • 参考

                                          # 类型推论

                                          如果没有明确的指定类型,那么 TypeScript 会依照类型推论(Type Inference)的规则推断出一个类型。

                                          # 什么是类型推论

                                          以下代码虽然没有指定类型,但是会在编译的时候报错:

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

                                          事实上,它等价于:

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

                                          TypeScript 会在没有明确的指定类型的时候推测出一个类型,这就是类型推论。

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

                                          let myFavoriteNumber;
                                          myFavoriteNumber = 'seven';
                                          myFavoriteNumber = 7;
                                          
                                          1
                                          2
                                          3

                                          # 参考

                                          • Type Inferenceopen in new window(中文版open in new window)
                                          edit icon编辑此页open in new window
                                          上一页
                                          任意值
                                          下一页
                                          联合类型
                                          傻瓜都能写出计算机可以理解的代码。唯有能写出人类容易理解的代码的,才是优秀的程序员。
                                          Copyright © 2022 YY

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

                                          详情