一、TypeScript简介
1.TypeScript由微软开发,是基于JavaScript的一个扩展语言。
2.TypeScript包含了JavaScript的所有内容,即:TypeScript是JavaScript的超集。
3.TypeScript增加了:静态类型检查、接口、泛型等很多现代开发特性,更适合大型项目的开发。
4.TypeScript需要编译为JavaScript,然后交给浏览器或其他JavaScript运行环境执行。
二、为何需要TypeScript
1️⃣今⾮昔⽐的 JavaScript(了解)
- JavaScript 当年诞生时的定位是浏览器脚本语言,用于在网页中嵌入简单的逻辑,且代码量很少。
- 随着时间的推移,JavaScript变得越来越流行,如今的JavaScript已经可以全栈编程了。
- 现如今的JavaScript应用场景比当年丰富得多,代码量也比当年的大很多,随便一个JavaScript项目的代码量,可以轻松的达到几万行,甚至十几万行!
- 然而JavaScript当年“出生简陋”,没考虑到如今的应用场景和代码量,逐渐就出现了很多困扰。
2️⃣JavaScript 中的困扰
???? 1. 不清楚的数据类型
let welcome = 'hello'
welcome() //此行报错: TypeError: welcome is not a function
???? 2. 有漏洞的逻辑
const str = Date.now() % 2 ? '奇数' : '偶数'
if (str !== '奇数') {
alert('hello')
} else if (str === '偶数') {
alert('world')
}
???? 3.
访问不存在的属性
const obj = { width: 10, height: 15 };
const area = obj.width * obj.heigth;
???? 4. 低级的拼写错误
const message = 'hello,world'
message.toUperCase()
3️⃣
『静态类型检查』
- 在代码运⾏前进⾏检查,发现代码的错误或不合理之处,减⼩运⾏时出现异常的⼏率,此种检 查叫『静态类型检查』,TypeScript 和核⼼就是『静态类型检查』,简⾔之就是把运⾏时的 错误前置。
- 同样的功能,TypeScript 的代码量要⼤于 JavaScript,但由于 TypeScript 的代码结构更加 清晰,在后期代码的维护中 TypeScript 却胜于 JavaScript。
二、编译 TypeScript
浏览器不能直接运行TypeScript代码,需要编译为JavaScript,再交由浏览器解析器执行。
1.命令行编译
要把 . ts 文件编译为. js文件,需要配置TypeScript的编译环境,步骤如下:
-
第一步:创建一个demo.ts文件,例如:
const person = { name:'李四', age:18 } console.log(`我叫${person.name},我今年${person.age}岁了`)
-
第二步:全局安装TypeScript
npm i typescript -g
-
第三步:使⽤命令编译 .ts ⽂件
tsc demo.ts
2.自动化编译
-
第⼀步:创建 TypeScript 编译控制⽂件
tsc --int
1. ⼯程中会⽣成⼀个 tsconfig.json 配置⽂件,其中包含着很多编译时的配置。2. 观察发现,默认编译的 JS 版本是 ES7 ,我们可以⼿动调整为其他版本。
-
第⼆步:监视⽬录中的 .ts ⽂件变
tsc --watch 或 tsc -w
-
第三步:⼩优化,当编译出错时不⽣成 .js ⽂件
tsc--noEmitOnError--watch
备注:当然也可以修改tsconfig.json中的noEmitOnError配置
待续......