我邂逅青训营的第四天之TS不认识我 | 青训营笔记

77 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第4天

每一个人终身都有一个共同的身份,那就是学生。

一、本堂课重点内容:

  • 本堂课的知识要点有哪些?

TS的发展、基本语法和高级的数据类型

二、详细知识点介绍:

  • 本堂课介绍了哪些知识点?

一、TS的发展与基本语法

(一)JS与TS

1.JS是动态类型的语言,例如先确定数据再确定数据类型

2.TS是静态类型的语言,例如需要提前定义数据类型

3.弱类型语言:

例如可以隐式转换,强类型无法隐式转换

image.png 4.JS支持渐进式 image.png 5.编辑器推荐 VScode

(二)基本语法

1.基础数据类型 比js的变量后多一个冒号和数据类型 image.png

2.对象类型

习惯I开头的单词为对象类型 image.png

3.函数类型

(1)语法

与js大同小异,不过在变量后多了:和数据类型。 image.png 4.函数重载

(1)例如对getDate函数进行重载,timestamp为可缺省参数 image.png 5.数组类型

(1)语法 类型+方括号,如number[ ] 泛型表示;元组表示;接口表示; image.png 常用的为第一个和第二个类型 5.typescript补充类型

(1)空类型,表示无赋值

(2)任意类型,是所有类型的子类型

(3)枚举类型:支持枚举值到枚举名的正、方向映射 image.png 6.Typescript泛型

(1)泛型接口&多泛型

例如inteface IX<T,U>{

Key:T;

Val:U;

}

(2)泛型类

Class Iman{

Instance:T;

}

(3)泛型别名

Type ITyperArr =Array;

二、TyepeScript高级数据类型

(一)类型

1.联合类型

IB | I A:;联合类型表示一个值可以是几种类型之一

2.交叉类型

IA & IB;多种类型叠加到一起成为一种类型,它包含了所需的所有类型的特性

image.png

3.类型保护与类型守卫 (1)联合类型+类型保护=自动类型推断 image.png 4.高级类型

(1)索引类型:关键字【keyof】,其相当于取值对象中的所有key组成的字符串字面量,如

type IKeys = keyof { a : string; b : number };

Type IKeys=“a” | “b”

踏过了前端三件套,才发现那只是旅途的冰山一角。