初识 Typescript

177 阅读3分钟

TypeScript官网

前言:为什么要学习 TS ?

  1. JS 是一门动态弱类型语言,对变量类型非常宽容,而且不会在变量和它们的调用者间建立结构化的契约。
  2. 长期在没有“类型约束”下的环境开发,会造成“类型思维”的缺失,养成不良的编程习惯。

使用ts的三要点:

  1. 类型检查:进行严格的静态类型检查,在编译阶段就发现可能存在的隐患。
  2. 语言扩展:包括来自 ECMAScript6 和未来提案中的特性(异步操作/装饰器)。也从其他语言借鉴某些特性(接口,抽象类)。
  3. 工具属性:能编译成标准的JS,可在任何浏览器、操作系统上运行,无需任何运行时的额外开销。从这个角度来看的话,其实 TS 更像是工具,而不是一门独立的语言了。

我们需要再理解下什么是强类型、弱类型;什么是静态类型语言、动态类型语言。

强类型类型语言: 要求变量必须严格遵循声明的类型,禁止隐式类型转换(除非显式允许)。类型错误会在编译时或运行时被严格检查。
弱类型语言: 允许变量在不同类型间隐式转换,甚至自动推断类型,可能导致意外的行为。
静态类型语言:编译阶段确定所有变量的类型
动态类型语言:执行阶段确定所有变量的类型

image.png

静态类型语言与动态类型语言的区别: image.png

1. Typescript 介绍

  1. TypeScript 是由微软开发的一款开源的编程语言。
  2. TypeScript 是 Javascript 的超集,遵循最新的 ES6、Es5 规范。TypeScript 扩展了 JavaScript的语法。
  3. TypeScript 更像后端 java、C#这样的面向对象语言可以让 js 开发大型企业项目。
  4. 谷歌也在大力支持 Typescript 的推广,谷歌的 angular2.x+就是基于 Typescript 语法。
  5. 最新的 Vue 、React 也可以集成 TypeScript。

2. Typescript 安装

  1. 安装 node.js Node.js — Run JavaScript Everywhere
  2. 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 文件

  1. 执行 tsc --init 生成配置文件 tsconfig.json

可以修改生成的js文件放置的文件夹位置

  1. 点击菜单 任务-运行任务 点击 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 文件

  1. 在最上方菜单栏,点击工具-插件安装;

  1. 点击下方 插件市场,搜索 typescript 插件进行安装

  1. 安装完成后重启编译器,点击菜单栏工具-选项 选择编译 ts 文件

然后就会对应解析生成js文件

  1. 也可以在你的文件上右键点击外部命令--typescript编译