前端开发调试|青训营笔记

126 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第8天!今天学习的是《Typescript入门》。笔记主要在图片中呈现。 其实今天学习整理的内容,知识点稍微有点多,需要多次回顾复习加以训练。

TS1.jpg

TS2.jpg

TS3.jpg

TS4.jpg

TS5.jpg

TS6.jpg

接下来就对于Java Script和Typescript的区别加以理解:

  1. Js是属于动态类型、Ts是静态类型;二者都是弱类型语言
    • 静态类型:可读性增强、可维护性增强
    • 动态类型:Js的超集————包含于兼容所有Js特性、支持共存;支持渐进式引入与开级
  2. Ts的数据类型————基础数据类型
    • 字符串 const q: string = 'string';
    • 数字 const w: number = 1;
    • 布尔值 const e: boolean = true;
    • null const r: null = null;
    • underlined const t: undefined = undefined;
  3. 对象类型
    • 只读属性、可选属性、任意属性
  4. 函数类型
    • 需要在参数后补类型、可以采用interface
  5. 函数重载
    • 在冒号前加个问号就可表示这是缺省函数(timestamp?:string)
  6. 数组类型
    • 类型+方括号表示
      type IArr1 = number [];
    • 泛型表示 type IArr2 = Array<string|number|Record<string, number>>;
    • 元组表示 type IArr3 = [number, number, string,string];
    • 接口表示 interface IArr4{ [key:number] : any; }
  7. Typescript 补充类型
    • 空类型,表示无赋值
    • 任意类型,是表示所有类型的子类型
    • 枚举类型,支持枚举值到枚举名的正、反向映射
    • 泛型
  8. 类型别名&类型断言
    • 通过type关键字定义ObjArr的别名类型
  9. 字符串/数字 字面量
    • 允许指定字符串/数字为固定值
  10. 高级类型
    • 联合类型:IA|IB;联合类型表示一个值可以是几种类型之一
    • 交叉类型:IA|IB;多种类型叠加到一起成为一种类型,它包含了所需的所有类型的特性
  11. 类型保护和类型守卫
    • 守卫:定义一个函数,返回值是一个类型谓词,生效范围为子作用域
  12. 工程应用
    • web——webpack构建
    • Node——使用TSC编译

Typescript知识点其实挺多的,需要慢慢理解吸收,多写代码结合理解。