这是我参与「第五届青训营 」伴学笔记创作活动的第4天
每一个人终身都有一个共同的身份,那就是学生。
一、本堂课重点内容:
- 本堂课的知识要点有哪些?
TS的发展、基本语法和高级的数据类型
二、详细知识点介绍:
- 本堂课介绍了哪些知识点?
一、TS的发展与基本语法
(一)JS与TS
1.JS是动态类型的语言,例如先确定数据再确定数据类型
2.TS是静态类型的语言,例如需要提前定义数据类型
3.弱类型语言:
例如可以隐式转换,强类型无法隐式转换
4.JS支持渐进式
5.编辑器推荐
VScode
(二)基本语法
1.基础数据类型
比js的变量后多一个冒号和数据类型
2.对象类型
习惯I开头的单词为对象类型
3.函数类型
(1)语法
与js大同小异,不过在变量后多了:和数据类型。
4.函数重载
(1)例如对getDate函数进行重载,timestamp为可缺省参数
5.数组类型
(1)语法
类型+方括号,如number[ ]
泛型表示;元组表示;接口表示;
常用的为第一个和第二个类型
5.typescript补充类型
(1)空类型,表示无赋值
(2)任意类型,是所有类型的子类型
(3)枚举类型:支持枚举值到枚举名的正、方向映射
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;多种类型叠加到一起成为一种类型,它包含了所需的所有类型的特性
3.类型保护与类型守卫
(1)联合类型+类型保护=自动类型推断
4.高级类型
(1)索引类型:关键字【keyof】,其相当于取值对象中的所有key组成的字符串字面量,如
type IKeys = keyof { a : string; b : number };
Type IKeys=“a” | “b”
踏过了前端三件套,才发现那只是旅途的冰山一角。