Appearance
二、了解并快速入门
概述
TypeScript
是一个基于JavaScript
之上的编程语言,是JavaScript
的超集(superset
)。和Flow
一样,也是旨在解决JavaScript
类型系统的问题。下图我们可以清楚的看出:JavaScript
、ES6
与TypeScript
的关系
TypeScript
是 静态类型 的语言,在开发的时候使用TypeScript
,但是浏览器环境是不支持TypeScript
运行的,必须在生产环境进行编译成JavaScript
才支持,所以需要提前进行编译。同时,TypeScript
并 不是强类型 语言,因为需要兼容JavaScript
的隐式类型转换,它只是提前了类型检查的时机,并没有让类型系统本身变得更严格。
TypeScript优缺点
优势
- 解决
JavaScript
类型系统不足,在开发阶段就进行类型检查,可以大大提高代码的可靠程度。 - 渐进式开发,如果不会
TypeScript
,一开始使用JavaScript
也是支持的,可以学一个特性用一个特性。 TypeScript
相比较Flow
的类型检查,功能更加强大,生态也更加健全、完善。- 逐渐应用广泛,
Angular
,Vue3.0
都已经开始使用了,TypeScript
已经成为前端领域的第二语言。
缺点
- 语言本身多了很多概念,提高了学习成本
- 项目初期,引入
TypeScript
会增加一些成本,还需要进行编译处理
起步
安装
bash
# yarn
yarn add typescript --dev
# npm
npm install -g typescript
安装完成后,在node-modules/bin
目录下有tsc
的文件,我们可以使用tsc
去将ts
文件转化成js
文件
创建文件
在src
文件夹中添加一个后缀是.ts
的文件
ts
// 随便写写,先按照js原生写,使用ES6新特性
const hello = (name: string) => {
console.log(name)
}
hello('TypeScript')
执行编译命令
bash
# yarn
yarn tsc hello-TypeScript.ts
# npm
tsc .\src\hello-TypeScript.ts
会在同名目录下添加一个编译后的js
文件
js
// 已经全部转换成es3语法(默认是es3)
var hello = function (name) {
console.log(name);
};
hello('TypeScript');