这是我参与「第五届字节青训营」伴学笔记创作活动的第4天。
课程内容
1.TypeScript历史及定义解析
2.TypeScript优势解读
3.基本语法
TypeScript发展历史
- 2012-10: 微软发布了TypeScript第一个版本(0.8)
- 2014-10: Angular发布了基于TypeScript的2.0版本
- 2015-04: 微软发布了Visual Studio Code
- 2016-05: @types/react发布,TypeScript可开发React
- 2020-09: Vue发布了3.0版本,官方支持TypeScript
- 2021-11: v4.5版本发布
TypeScript定义
TypeScript源于JavaScript,JavaScript是动态类型的语言,TypeScript是静态类型的语言,但两者都是弱类型语言。动态类型是在执行阶段才能确定一个类型的匹配,而静态类型语言则会在执行前去完成这件事情。
TypeScript优势
静态类型
- 可读性增强:基于语法解析TSDoc,ide增强
- 可维护性增强:在编译阶段暴露大部分错误 => 多人合作的大型项目中,获得更好的稳定性和开发效率
JS的超集
- 包含于兼容所有JS特性,支持共存
- 支持渐进式引入与升级
TypeScript基本语法
基础数据类型
JavaScript语法:
// 字符串
const q = 'string';
// 数字
const w = 1;
// 布尔值
const e = true;
// null
const r = null;
// undefined
const t = undefined;
TypeScript语法:
// 字符串
const q: string = 'string';
// 数字
const w: number = 1;
// 布尔值
const e: boolean = true;
// null
const r: null = null;
// undefined
const t: undefined = undefined;
可以看到TS类型定义是在变量后+:变量类型。
对象数据类型
自定义类型一般首字母大写,表示这是一个类型,通过interface关键字来定义。类似于对象的定义方式,采用key-value来定义,其中通过关键字readonly设置只读属性,后续无法更改;?:表示该属性为可选属性,该属性可有可无,其余一般为必选类型;any表示任意属性。
函数类型
函数类型()内为参数类型,()外紧接着的为函数输出值类型。