[ TavaScript学习 | 青训营笔记]

102 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 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

关键字【?】,通过设定对象可选选项,即可自动推导出子集类型