这是我参与「第四届青训营 」笔记创作活动的的第5天
今天学习了TypeScript,下面是我对本次课程的总结.
一、本堂课重点内容:
- TypeScript和JavaScript的区别
- TypeScript的基本类型
二、详细知识点介绍:
2.1 为什么什么是TypeScript?
2.1.1 JS和TS本质区别:
JS是动态类型的弱类型语言;
TS是静态类型的弱类型语言。
2.1.2 静态类型和JS的超集
静态类型: 可读性增强:基于语法解析TSDoc,ide增强; 可维护性增强:在编译阶段暴露大部分错误。适用于多人合作的大型项目中,获得更好的稳定性和开发效率. JS的超集:包含于建嵘所有JS特性,支持共存, 支持渐进式引入与升级
2.2 基础语法
基础数据类型:string、number、boolean、array 、object、null、undefined、enmu、void、never、any、tuple
注意:typescript和javascript中无int,float等数据类型的定义,全部统一用number来定义
Boolean 布尔类型
布尔类型只有true和false两个值。
var male:boolean=true;
Number数字类型
TS所有的数字都是由浮点数表示的,这些数字的类型就是number。
var age:number=22;
String 字符串类型
string表示文本数据类型。 和JavaScript一样,可以使用双引号或单引号表示字符串。
var name:string = "张三";
枚举类型
枚举类型是一组可以命名数值的集合。使用枚举类型可以为一组数值赋予的名字。
enum name {zsy,rh,zzz};
let n:name=name.zsy;
console.log(n)
还有对象类型、函数类型、函数重载、数组类型、TypeScript补充类型、TypeScript泛型、类型别名&类型断言、字符串/数字 字面量。
2.3 高级类型
联合/交叉类型:
(1)联合类型:IA|IB;联合类型表示一个值可以是几种类型之一
(2)交叉类型:IA&IB;多种类型叠加到一起成为一种类型,它包含了所需的所有类型的特性。声明的类型并不确定,可以为多个类型中的一个
类型保护与类型守卫:类型保护是可执行运行时检查的一种表达式,用于确保该类型在一定的范围内。类型保护可以保证一个字符串是一个字符串.
函数返回值类型:其返回promise,结果为入参函数的返回结果