Skip to content
Shimon's BlogShimon's Blog
主页
杂谈
  • 主页
      • 代码笔记
          • 代码学习教程
              • TypeScript 教程
                  • 简介
                    • Hello TypeScript
                      • 什么是 TypeScript
                        • 安装 TypeScript
                      • 如何学习一门计算机语言

                    Hello TypeScript

                    Shimon Zhan2022年4月19日
                    • TypeScript
                    • 快速上手
                    大约 1 分钟

                    我们从一个简单的例子开始。

                    将以下代码复制到 hello.ts 中:

                    function sayHello(person: string) {
                      return "Hello, " + person;
                    }
                    
                    let user = "Tom";
                    console.log(sayHello(user));
                    

                    然后执行

                    tsc hello.ts
                    

                    这时候会生成一个编译好的文件 hello.js:

                    function sayHello(person) {
                      return "Hello, " + person;
                    }
                    var user = "Tom";
                    console.log(sayHello(user));
                    

                    TypeScript 中,使用 : 指定变量的类型,: 的前后有没有空格都可以。

                    上述例子中,我们用 : 指定 person 参数类型为 string。但是编译为 js 之后,并没有什么检查的代码被插入进来。

                    TypeScript 只会进行静态检查,如果发现有错误,编译的时候就会报错。

                    let 是 ES6 中的关键字,和 var 类似,用于定义一个局部变量,可以参阅 let 和 const 命令open in new window。

                    下面尝试把这段代码编译一下:

                    function sayHello(person: string) {
                      return "Hello, " + person;
                    }
                    
                    let user = [0, 1, 2];
                    console.log(sayHello(user));
                    

                    编辑器中会提示错误,编译的时候也会出错:

                    index.ts(6,22): error TS2345: Argument of type 'number[]' is not assignable to parameter of type 'string'.
                    

                    但是还是生成了 js 文件:

                    function sayHello(person) {
                      return "Hello, " + person;
                    }
                    var user = [0, 1, 2];
                    console.log(sayHello(user));
                    

                    TypeScript 编译的时候即使报错了,还是会生成编译结果,我们仍然可以使用这个编译之后的文件。

                    如果要在报错的时候终止 js 文件的生成,可以在 tsconfig.json 中配置 noEmitOnError 即可。关于 tsconfig.json,请参阅官方手册open in new window(中文版open in new window)。

                    上次编辑于: 2022/4/19 07:13:07
                    贡献者: ShimonZhan
                    上一页
                    简介
                    下一页
                    什么是 TypeScript
                    Copyright © 2021-present Shimon Zhan