美文网首页
文件类型检查

文件类型检查

作者: 竹林_ | 来源:发表于2019-10-16 11:53 被阅读0次

    JavaScript文件类型检查

    TS2.3 以后的版本支持使用 --checkJs对.js文件进行类型检查和错误提示

    • 通过 // @ts-nocheck 注释来忽略检查类型
    • 通过去掉--checkJs设置并添加一个// @ts-check注释来选则检查某些.js文件
    • 使用// @ts-ignore来忽略本行的错误

    对比.js文件和.ts文件在类型检查上的差异,有如下几点需要注意:

    一、 用JSDoc类型表示类型信息

    • js文件里,类型可以和在ts文件里一样被推断出来,当类型不能被推断时可以通过JSDoc来指定
    • 如同TS --noImplicitAny会在编译器无法推断类型的位置报错(除了对象字面量的情况)

    二、属性的推断来自于类内的赋值语句

    • 在js文件中,编译器从类内部的属性赋值语句来推断属性类型
    • 属性的类型是在构造函数里赋的值得类型,除非未定义或者是undefined或null
    • 在构造函数里定义的属性会被认为是一直存在的,在方法,存取器里定义的属性被当成是可选的
    // JSDoc注解修饰的声明会被设置为这个声明的类型
    /** @type {number} */
    var x;
    x = 0;
    x = false;
    
    // 属性的推断来自于类内的赋值语句
    class PropertyC {
      constructor(){
        /** @type { number | undefined } */
        this.constructorOnly = 0;
        /** @type { number | undefined } */
        this.constructorUnknown = undefined;
      }
      method() {
        this.constructorOnly = false;
        this.constructorUnknown = 'plunkbat';
        this.methodOnly = 'ok';
      }
      method2(){
        this.methodOnly = true;
      }
    }
    

    相关文章

      网友评论

          本文标题:文件类型检查

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