这是我参与「第四届青训营 」笔记创作活动的第8天!今天学习的是《Typescript入门》。笔记主要在图片中呈现。 其实今天学习整理的内容,知识点稍微有点多,需要多次回顾复习加以训练。
接下来就对于Java Script和Typescript的区别加以理解:
- Js是属于动态类型、Ts是静态类型;二者都是弱类型语言
- 静态类型:可读性增强、可维护性增强
- 动态类型:Js的超集————包含于兼容所有Js特性、支持共存;支持渐进式引入与开级
- Ts的数据类型————基础数据类型
- 字符串 const q: string = 'string';
- 数字 const w: number = 1;
- 布尔值 const e: boolean = true;
- null const r: null = null;
- underlined const t: undefined = undefined;
- 对象类型
- 只读属性、可选属性、任意属性
- 函数类型
- 需要在参数后补类型、可以采用interface
- 函数重载
- 在冒号前加个问号就可表示这是缺省函数(timestamp?:string)
- 数组类型
- 类型+方括号表示
type IArr1 = number []; - 泛型表示
type IArr2 = Array<string|number|Record<string, number>>; - 元组表示
type IArr3 = [number, number, string,string]; - 接口表示
interface IArr4{ [key:number] : any; }
- 类型+方括号表示
- Typescript 补充类型
- 空类型,表示无赋值
- 任意类型,是表示所有类型的子类型
- 枚举类型,支持枚举值到枚举名的正、反向映射
- 泛型
- 类型别名&类型断言
- 通过type关键字定义ObjArr的别名类型
- 字符串/数字 字面量
- 允许指定字符串/数字为固定值
- 高级类型
- 联合类型:IA|IB;联合类型表示一个值可以是几种类型之一
- 交叉类型:IA|IB;多种类型叠加到一起成为一种类型,它包含了所需的所有类型的特性
- 类型保护和类型守卫
- 守卫:定义一个函数,返回值是一个类型谓词,生效范围为子作用域
- 工程应用
- web——webpack构建
- Node——使用TSC编译
Typescript知识点其实挺多的,需要慢慢理解吸收,多写代码结合理解。