这是我参与「第五届青训营 」伴学笔记创作活动的第 4 天。
一、编译器推荐
推荐编译器为VS或者TS官网的编译器
二、为什么选择TypeScript(JS与TS的区别)
(一)JS为动态、弱类型的语言。执行时才对语法进行检验、类型进行匹配。 而Ts则是静态、弱类型语言。
(二)概念分析
弱类型:特征为类型转换,会进行隐式类型转换。
静态类型优点:1. 编译发生在执行前; 2. 可读性增强,基于语法解析TSDoc,ide增强 3. 可维护性增强:在编译阶段暴露大部分错误
总而言之,TS是JS的超集,它包含了所有JS的特性且支持共存且支持渐进式引入与升级。在多人合作时,会获得更好的稳定性和开发效率。
三、主要知识
(一)基本语法
1.基础数据:qwert,分别对应字符串、数字、布尔类型、null、undefined。const q = “string”同const q:string = “string”
2.对象:建立对象,可定义属性是否存在
3.函数:具有重载等方法
4.数组类型,类型+【】
数组有三种写法,为(1)泛型表示 (2) 元祖表示 (3) 接口表示。
5.在书写数组时,每种写法中可有多种数据类型共存。
6.泛型T:不预先指定类型,具体使用时再指定类型的一种特性。泛型约束:限制泛型,如限制在字符串范围内。
T extends String
7.字面量可指定字符串/数字的自变量
8.联合类型: IA | IB;联合类型表示一个值可以是几种类型之一
交叉类型: IA & IB;多种类型叠加到一起成为一种类型,它包含了所需的所有类型的特性
9.索引类型:关键字【keyof】,其相当于取值对象中的所有key组成的字符串字面量,如
关键字【in】,其相当于取值字符串字面量中的一种可能,配合泛型P,即表示每个key
关键字【?】,通过设定对象可选选项,即可自动推导出子集类型