TypeScript用法
typeScript是什么?
typeScript是JavaScript的超集(js有的ts都有)
typeScript在JavaScript基础上添加了(类型支持)
ts可以在任何运行js的地方运行
typeScript介绍?
js类型系统存在 '先天缺陷' js代码中绝大部分错误都是类型错误(UncaughtTypeError),增加了找bug、改bug的时间、严重影响开发效率
从编程语言的动静来区分,ts属于静态类型、js属于动态类型的编程语言
静态类型:编译期间做类型检查;动态类型:执行期间做类型检查(其实ts在编译代码时候就会对写的类型进行检查,js就是编译代码完运行代码时候对类型进行检查)
代码编译和代码执行顺序: 1.编译 2.执行
对于js来说: 需要等到代码真正去执行的时候才能(发现错误)(晚)
对于ts来说: 在代码编译的时候(代码执行前)就可以发现错误(早)
ts好处: 减少bug发生、减少改bug时间
ts相比js的优势?
1.写代码时候更早发现错误,减少找bug、改bug时间、提升开发效率
2.程序中任何位置都有代码提示,增强开发体验
3.强大的类型系统,提升了代码的可维护性,使得重构代码更容易
4.支持最新的js语法,
5.ts类型推断机制,不需要在代码中的每个地方都显示标注类型
安装ts编译包
为什么安装ts编译包?
因为: node.js / 浏览器 只认识js代码 不认识ts代码, 需要将ts代码转化为js代码,然后才能运行
安装命令: npm i -g typescript 全局安装
typescript包 : 就是用来编译ts代码(就是写ts代码) ,使用tsc命令 实现ts转js
是否安装成功 tsc -v 查看ts版本
编译ts代码
// hello.ts文件
let num: Number = 20 // 限制类型 这个类型必须是数字类型
console.log(num)
使用tsc hello.ts编译成js文件
// hello.js文件
let num = 20
console.log(num)
node或nodemon hello.js 运行结构20
注意: 所有合法的js代码都是js代码,由ts编译生成的js文件,js文件中没有类型信息 比如上面的Number
简单理解:ts就是在js基础上限制类型
简化运行ts
上面使用先转化 在运行 繁琐
安装 npm i -g ts-node 使用ts-node包直接在node.js执行ts代码 ts-node命令内部已经使用tsc将ts转化成js
使用方式: ts-node hello.ts
Ts优势
答: 用来限制类型, 防止错误发生