返回介绍

一、简介

发布于 2024-09-07 22:03:42 字数 3854 浏览 0 评论 0 收藏 0

1.1 什么是 TypeScript

  • TypeScriptJavaScript 的一个超集,主要提供了类型系统和对 ES6 的支持
  • TypeScript 是由微软开发的一款开源的编程语言
  • TypeScriptJavascript 的超级,遵循最新的 ES6Es5 规范。 TypeScript 扩展了 JavaScript 的语法
  • TypeScript 更像后端 javaC# 这样的面向对象语言可以让 js 开发大型企业项目

1.2 为什么选择 TypeScript

Typescriptes6es5 关系

TypeScript 增加了代码的可读性和可维护性

  • 类型系统实际上是最好的文档,大部分的函数看看类型的定义就可以知道如何使用了
  • 可以在编译阶段就发现大部分错误,这总比在运行时候出错好
  • 增强了编辑器和 IDE 的功能,包括代码补全、接口提示、跳转到定义、重构等

TypeScript 非常包容

  • TypeScriptJavaScript 的超集, .js 文件可以直接重命名为 .ts 即可
  • 即使不显式的定义类型,也能够自动做出类型推论
  • 可以定义从简单到复杂的几乎一切类型
  • 即使 TypeScript 编译报错,也可以生成 JavaScript 文件
  • 兼容第三方库,即使第三方库不是用 TypeScript 写的,也可以编写单独的类型文件供 TypeScript 读取

TypeScript 拥有活跃的社区

  • 大部分第三方库都有提供给 TypeScript 的类型定义文件
  • Google 开发的 Angular2 就是使用 TypeScript 编写的
  • TypeScript 拥抱了 ES6 规范,也支持部分 ESNext 草案的规范
  • 最新的 VueReact 也可以集成 TypeScript

TypeScript 的缺点

  • 有一定的学习成本,需要理解接口( Interfaces )、泛型( Generics )、类( Classes )、枚举类型( Enums )等前端工程师可能不是很熟悉的概念
  • 短期可能会增加一些开发成本,毕竟要多写一些类型的定义,不过对于一个需要长期维护的项目, TypeScript 能够减少其维护成本
  • 集成到构建流程需要一些工作量
  • 可能和一些库结合的不是很完美

1.3 安装 TypeScript

typescript 安装

npm i typescript -g

全局安装完成后,我们新建一个 hello.tsts 文件

// hello.ts 内容
let a = "poet"

接下来我们在命令行输入 tsc hello.ts 来编译这个 ts 文件,然后会在同级目录生成一个编译好了的 hello.js 文件

// hello.js 内容
var = "poet"

那么我们每次都要输 tsc hello.ts 命令来编译,这样很麻烦,能否让它自动编译?答案是可以的,使用 vscode 来开发,需要配置一下 vscode 就可以。

首先我们在命令行执行 tsc --init 来生成配置文件,然后我们在目录下看到生成了一个 tsconfig.json 文件

这个 json 文件里有很多选项

  • target 是选择编译到什么语法
  • module 则是模块类型
  • outDir 则是输出目录,可以指定这个参数到指定目录

更多细节 https://zhongsp.gitbooks.io/typescript-handbook/content/doc/handbook/tsconfig.json.html

接下来我们需要开启监控了,在 vscode 任务栏中

1.4 Hello TypeScript

将以下代码复制到 hello.ts

function sayHello(person: string) {
    return 'Hello, ' + person;
}

let user = 'poetries';
console.log(sayHello(user));
tsc hello.ts
//这时候会生成一个编译好的文件 hello.js:

function sayHello(person) {
    return 'Hello, ' + person;
}
var user = 'poetries';
console.log(sayHello(user));

TypeScript 中,使用 : 指定变量的类型, : 的前后有没有空格都可以

  • TypeScript 只会进行静态检查,如果发现有错误,编译的时候就会报错
  • TypeScript 编译的时候即使报错了,还是会生成编译结果,我们仍然可以使用这个编译之后的文件

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文