了解TypeScript基本语法 | 青训营笔记

97 阅读3分钟

这是我参与「第四届青训营 」笔记创作活动的第5天

今天所学习的是TypeScript,这是后来兴起的一门语言。

TypeScript简介

TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或Babel转译为JavaScript代码,可运行在任何浏览器,任何操作系统。

TypeScript背景

TypeScript 起源于使用JavaScript开发的大型项目 。由于JavaScript语言本身的局限性,难以胜任和维护大型项目开发。因此微软开发了TypeScript ,使得其能够胜任开发大型项目。

TypeScript发展历史

2010 – 微软团队开始开发

2012 – 第一个公开版本发布(TypeScript 0.8)

2013 – TypeScript 0.9 发布,支持泛型了

2014 – TypeScript 1.0 发布,Visual Studio 2013 默认支持 TypeScript 了。同时,源码从 CodePlex 迁移到 Github

2017 – TypeScript 2.1 发布

2018 – TypeScript 3.2 发布

TypeScript是静态类型,静态类型有很多的好处。

静态类型的好处

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

TypeScript的基本类型

TypeScript的基本类型是由JavaScript中的类型:booleanbigintnullnumberstringsymbolundefined加上新增的any,never,null组成。

TypeScript的复杂类型

对于简单类型来说,限制字段的值只能是同一种类型,而复杂类型就是限制字段可以是多种类型中的其中一个。

我们可以通过两种形式来对复杂类型进行定义:联合,泛型。

联合

使用联合类型的方式很简单,在多个类型之间使用|进行连接,使用或的语义即可,比如我们希望一个字段既可以是数字,又可以是字符串:

例如:

let multi: number | string = 1;

multi = 'abc';

泛型

TS中的泛型大多数情况是使用在函数上(也可以使用在类上),我们可以把泛型理解为一种特殊的参数,在调用函数的时候,可以显式或隐式的传入类型。

type关键字

type定义:type又叫类型别名(type alias),作用是给一个类型起一个新名字,不仅支持interface定义的对象结构,还支持基本类型、联合类型、交叉类型、元组等任何你需要手写的类型。

除了直接使用类型关键字来限制变量的类型之外,我们还可以使用type关键字来定义类型。

例如:

type a = number;

type b = string;

这样也可以直接进行定义。

除此之外,type定义的变量,还可以被赋值为某些具体的值,表示在后续给变量赋值的时候,只能在这些值之间进行选择。

总结:以上就是TypeScript的基本语法。