TypeScript入门 | 青训营笔记

52 阅读2分钟

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

什么是TypeScript

  • TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准。
  • TypeScript 由微软开发的自由和开源的编程语言。
  • TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 JavaScript 可以运行在任何浏览器上。
  • JavaScript是动态类型而TypeScript为静态类型。

TypeScript的优点

  • 类型在进行重构时可以提高敏捷性。对于编译器来说,捕获错误比使事情在运行时失败更好;
  • 类型是您可以拥有的最佳文档形式之一。函数签名是一个定理,函数体是证明

换句话说,就是:

  • 可读性增强:基于语法解析TSDoc,ide增强
  • 可维护性增强:在编译阶段暴露大部分错误多人合作的大型项目中,获得更好的稳定性和开发效率
  • 包含于兼容所有Js特性,支持共存
  • 支持渐进式引入与升级

基础数据库类型

/*字符串*/

const q:string='string';

/*数字*/

const w:number=1;

/*布尔值*/

const e:boolean=true;

/*nul1*/

constr:null=null;

/*undefined*/

const t:undefined=undefined;

使用冒号来定义类型。

“I”开头一般是一种类型,例如:

image.png

函数类型声明

当我们通过TypeScript定义函数时,实际上已经声明了函数签名和定义了函数体。

image.png

函数重载

函数重载是TypeScript特有的。

函数的重载:函数名称相同,但是参数的个数或者类型不同。

image.png

高级类型

联合/交叉类型

  • 联合类型:IAIIB;联合类型表示一个值可以是几种类型之一
  • 交叉类型:IA&IB;多种类型叠加到一起成为一种类型,它包含了所需的所有类型的特性

image.png

类型保护与类型守卫

类型守卫是 一个值确保在该类型的范围内。

image.png

函数返回值类型

一般情况下,TypeScript 中的函数返回值类型是可以缺省和推断出来的,但是有些特例需要我们显式声明返回值类型。

工程应用

一般是浏览器Web上的应用和NodeJs上的应用。

Web应用

  1. 配置webapack loader相关配置
  2. 配置tsconfig,js文件
  3. 运行webpack启动/打包
  4. loader处理ts文件时,会进行编译与类型检查