Typescript 入门 | 青训营笔记

70 阅读2分钟

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

TypeScript 是什么

阿宝大佬

TypeScript 是⼀种由微软开发的⾃由和开源的编程语⾔。它是 JavaScript 的⼀个超集,⽽且本质上向这 个语⾔添加了可选的静态类型和基于类的⾯向对象编程。 《重学TS v1.0》

TypeScript 提供最新的和不断发展的 JavaScript 特性,包括那些来⾃ 2015 年的 ECMAScript 和未来的 提案中的特性,⽐如异步功能和 Decorators,以帮助建⽴健壮的组件。下图显示了 TypeScript 与 ES5、ES2015 和 ES2016 之间的关系:

image.png

TS 发展历史

  • 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版本发布

TS 开发环境搭建

VS Code

VS Code 本身就是由 TypeScript 编写的,因此它对 TypeScript 有着非常全面的支持,包括类型检查、补全等功能,

Playground

www.typescriptlang.org/zh/play

基本语法

基本语法不过多介绍,详细可以去查看官网文档 www.typescriptlang.org/zh

原始类型的类型标注

首先,我们来看 JavaScript的内置原始类型。除了最常见的 number / string / boolean / null / undefined, ECMAScript 2015(ES6)、2020 (ES11) 又分别引入了 2 个新的原始类型:symbol 与 bigint 。在 TypeScript 中它们都有对应的类型注解:

const name: string = 'linbudu';
const age: number = 24;
const male: boolean = false;
const undef: undefined = undefined;
const nul: null = null;
const obj: object = { name, age, male };
const bigintVar1: bigint = 9007199254740991n;
const bigintVar2: bigint = BigInt(9007199254740991);
const symbolVar: symbol = Symbol('unique');

在ts 中 null 与 undefined 类型都是有具体意义的类型

工程应用

  • Web
  • webpack
    • webpack.loader的相关配置
    • 配置tsconfig.ts文件
    • 运行webpack启动/打包
    • loader处理ts文件时,会进行编译与类型检查
  • Node
  • TSC编译
    • 安装node与npm
    • 配置tsconfig.js文件
    • 使用npm安装tsc
    • 使用tsc运行编译得到js文件