TypeScript入门(1)|青训营笔记

163 阅读2分钟

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

课程内容

1.TypeScript历史及定义解析
2.TypeScript优势解读
3.基本语法

TypeScript发展历史

  1. 2012-10: 微软发布了TypeScript第一个版本(0.8)
  2. 2014-10: Angular发布了基于TypeScript的2.0版本
  3. 2015-04: 微软发布了Visual Studio Code
  4. 2016-05: @types/react发布,TypeScript可开发React
  5. 2020-09: Vue发布了3.0版本,官方支持TypeScript
  6. 2021-11: v4.5版本发布

TypeScript定义

TypeScript源于JavaScript,JavaScript是动态类型的语言,TypeScript是静态类型的语言,但两者都是弱类型语言。动态类型是在执行阶段才能确定一个类型的匹配,而静态类型语言则会在执行前去完成这件事情。

TypeScript优势

静态类型

  1. 可读性增强:基于语法解析TSDoc,ide增强
  2. 可维护性增强:在编译阶段暴露大部分错误 => 多人合作的大型项目中,获得更好的稳定性和开发效率

JS的超集

  1. 包含于兼容所有JS特性,支持共存
  2. 支持渐进式引入与升级

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类型定义是在变量后+:变量类型。

对象数据类型

image.png image (1).png

自定义类型一般首字母大写,表示这是一个类型,通过interface关键字来定义。类似于对象的定义方式,采用key-value来定义,其中通过关键字readonly设置只读属性,后续无法更改;?:表示该属性为可选属性,该属性可有可无,其余一般为必选类型;any表示任意属性。

函数类型

image.png

函数类型()内为参数类型,()外紧接着的为函数输出值类型。

数组类型

image.png

补充类型

image.png

泛型

image.png image.png image.png

类型别名&类型断言

image.png

字符串/数字 字面量

image.png 以上便是本次学习的一部分学习内容及笔记,后面还有高级类型等。