Hello TypeScript

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

    本文摘自

    https://ts.xcatliu.com/introduction/hello-typescript


    Hello TypeScript

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

    将以下代码复制到 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 命令

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

    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,请参阅官方手册中文版)。

    相关文章

      网友评论

        本文标题:Hello TypeScript

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