typescript基础知识(一)

121 阅读2分钟

长头发女孩 深色背景 晚上 森林 汽车 路边 4k动漫壁纸_彼岸图网.jpg

1.tsconfig.json配置文件

  "compilerOptions": {
    "target": "esnext",
    "module": "esnext",
    //	启用所有严格类型检查选项。
    //启用 --strict相当于启用 --noImplicitAny, --noImplicitThis, --alwaysStrict, --strictNullChecks和 --strictFunctionTypes和--strictPropertyInitialization。
    "strict": true,
    // 允许编译器编译JS,JSX文件
    "allowJs": false,
    // 允许在JS文件中报错,通常与allowJS一起使用
    "checkJs": false,
    // 允许使用jsx
    "jsx": "preserve",
    "declaration": true,
    //移除注解
    "removeComments": true,
    //不可以忽略any
    "noImplicitAny": false,
    //关闭 this 类型注解提示
    "noImplicitThis": true,
    //null/undefined不能作为其他类型的子类型:
    //let a: number = null; //这里会报错.
    "strictNullChecks": true,
    //生成枚举的映射代码
    "preserveConstEnums": true,
    //根目录
    //输出目录
    "outDir": "./ts-out-dir",
    //是否输出src2.js.map文件
    "sourceMap": false,
    //变量定义了但是未使用
    "noUnusedLocals": false,
    //是否允许把json文件当做模块进行解析
    "resolveJsonModule": true,
    //和noUnusedLocals一样,针对func
    "noUnusedParameters": false,
    // 模块解析策略,ts默认用node的解析策略,即相对的方式导入
    "moduleResolution": "node",
    //允许export=导出,由import from 导入
    "esModuleInterop": true,
    //忽略所有的声明文件( *.d.ts)的类型检查。
    "skipLibCheck": true,
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"],
      "~/*": ["typings/*"]
    },
    //指定默认读取的目录
    //"typeRoots": ["./node_modules/@types/", "./types"],
    "lib": ["ES2018", "DOM"]
  },
  //"files": [],
  //include包含文件夹会被ts进行读取
  "include": ["src", "typings", "auto-imports.d.ts"]
  //exclude 可以去除include中指定的文件,不能去除file指定的文件
  //  "exclude": [
  ////    "src/src1.ts"
  //  ]
}

2.接口声明函数

interface fn {
  (a;string, sub:number):boolean// 参数:第一个参数是String类型;第二个参数是number类型
  // 返回值:是布尔类型
  interval:number;
  // 
  reset():void;
  // 表示该方法没有返回值
}

3. 抽象类 abstract class

1.抽象成员:父类中,可能知道有些成员必须存在,但是不知道该成员的值或者实现是什么,因此,需要一种强约束,让继承该类的子类必须实现该成员
2.抽象类:可以有抽象成员,这些抽象成员必须在子类中实现
3.设计模式:面对一些常见的场景,有一些固定的、经过多年实践的成熟方法,这些方法称之为设计模式。
4.模板模式:有些方法,所有的子类实现的流程完全一致,只是流程中的某个步骤的具体实现不一致,可以将该方法提取到父类,在父类中完成整个流程的实现,遇到实现不一致的方法时,将方法做成抽象方法

4.静态成员

静态成员是指附着在类上的成员(属于某个构造函数的成员 )用static修饰

5.静态方法中的this

1.实例方法中的this指向的是当前对象

2.静态方法中的this指向的是当前类