前言:为什么要学习 TS ?
- JS 是一门动态弱类型语言,对变量类型非常宽容,而且不会在变量和它们的调用者间建立结构化的契约。
- 长期在没有“类型约束”下的环境开发,会造成“类型思维”的缺失,养成不良的编程习惯。
使用ts的三要点:
- 类型检查:进行严格的静态类型检查,在编译阶段就发现可能存在的隐患。
- 语言扩展:包括来自 ECMAScript6 和未来提案中的特性(异步操作/装饰器)。也从其他语言借鉴某些特性(接口,抽象类)。
- 工具属性:能编译成标准的JS,可在任何浏览器、操作系统上运行,无需任何运行时的额外开销。从这个角度来看的话,其实 TS 更像是工具,而不是一门独立的语言了。
我们需要再理解下什么是强类型、弱类型;什么是静态类型语言、动态类型语言。
强类型类型语言: 要求变量必须严格遵循声明的类型,禁止隐式类型转换(除非显式允许)。类型错误会在编译时或运行时被严格检查。
弱类型语言: 允许变量在不同类型间隐式转换,甚至自动推断类型,可能导致意外的行为。
静态类型语言: 在编译阶段确定所有变量的类型
动态类型语言: 在执行阶段确定所有变量的类型
静态类型语言与动态类型语言的区别:
1. Typescript 介绍
- TypeScript 是由微软开发的一款开源的编程语言。
- TypeScript 是 Javascript 的超集,遵循最新的 ES6、Es5 规范。TypeScript 扩展了 JavaScript的语法。
- TypeScript 更像后端 java、C#这样的面向对象语言可以让 js 开发大型企业项目。
- 谷歌也在大力支持 Typescript 的推广,谷歌的 angular2.x+就是基于 Typescript 语法。
- 最新的 Vue 、React 也可以集成 TypeScript。
2. Typescript 安装
- 安装 node.js Node.js — Run JavaScript Everywhere
- win+R 输入 cmd 打开控制台
用 npm 或 cnpm 安装
npm install -g typescript
浏览器没法直接解析ts文件,需要将我们写的ts代码转换为浏览器可以解析的 es5 的代码。
随便写一个ts文件,然后执行 tsc 你的文件名.ts,将ts文件编译生成一个js文件。
console.log("hi")
记得进入你文件所在的文件夹执行
3. 使用 Typescript 开发工具自动编译ts文件
3.1. Vscode/Cursor 自动编译.ts 文件
- 执行 tsc --init 生成配置文件 tsconfig.json
可以修改生成的js文件放置的文件夹位置
- 点击菜单 任务-运行任务 点击 tsc:监视-tsconfig.json 然后就可以自动生成代码了
这样修改文件后,会自动监视生成对应js文件
console.log("hi,ts")
/**
* 1. 执行 tsc -init 生成 tsconfig.json
* 2. 修改 "outDir" 配置
* 3. 运行任务,tsc:监视-tsconfig.json
*/
const data = "hi, ts"
const getData = (data: string): string=>{
console.log(data)
return data
}
getData(data)
以上的ts文件生成后的js文件:
3.2. HBuilder 编译.ts 文件
- 在最上方菜单栏,点击工具-插件安装;
- 点击下方 插件市场,搜索 typescript 插件进行安装
- 安装完成后重启编译器,点击菜单栏工具-选项 选择编译 ts 文件
然后就会对应解析生成js文件
- 也可以在你的文件上右键点击外部命令--typescript编译