小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
本文同时参与 「掘力星计划」 ,赢取创作大礼包,挑战创作激励金
TypeScript 的出现
TypeScript 是 JavaScript 的一个超集,主要提供了类型系统和对 ES6 的支持,它由 Microsoft 开发,代码开源于 GitHub 上。
它的第一个版本发布于 2012 年 10 月,经历了多次更新后,现在已成为前端社区中不可忽视的力量,不仅在 Microsoft 内部得到广泛运用,而且 Google 的 Angular2 也使用了 TypeScript 作为开发语言。
所以了解和学习 TypeScript 是前端童鞋走上浪潮的其中一步
什么是 TypeScript ?
TypeScript 就是所谓的 JavaScript 超集。它不是 JavaScript 的替代品,也不会为 JavaScript 代码添加任何新功能。相反,TypeScript 允许程序员在其代码中使用面向对象的构造,然后将其转换为 JavaScript。它还包括类型安全和编译时类型检查等便利功能。最重要的是,它是完全免费和开源的。
官方介绍: TypeScript 是 JavaScript 的类型的超集,它可以编译成纯 JavaScript。编译出来的 JavaScript 可以运行在任何浏览器上。TypeScript 编译工具可以运行在任何服务器和任何系统上。TypeScript 是开源的。
为什么选择 TypeScript ?
TypeScript 增加了代码的可读性和可维护性
类型系统实际上是最好的文档,大部分的函数看看类型的定义就可以知道如何使用了
可以在编译阶段就发现大部分错误,这总比在运行时候出错好
增强了编辑器和 IDE 的功能,包括代码补全、接口提示、跳转到定义、重构等
TypeScript 非常包容
TypeScript 是 JavaScript 的超集,.js 文件可以直接重命名为 .ts 即可
即使不显式的定义类型,也能够自动做出类型推论
可以定义从简单到复杂的几乎一切类型
即使 TypeScript 编译报错,也可以生成 JavaScript 文件
兼容第三方库,即使第三方库不是用 TypeScript 写的,也可以编写单独的类型文件供 TypeScript 读取
TypeScript 拥有活跃的社区
大部分第三方库都有提供给 TypeScript 的类型定义文件
Google 开发的 Angular2 就是使用 TypeScript 编写的
TypeScript 拥抱了 ES6 规范,也支持部分 ESNext 草案的规范
TypeScript 的缺点
任何事物都是有两面性的,TypeScript 的弊端在于:
- 有一定的学习成本,需要理解接口(
Interfaces)、泛型(Generics)、类(Classes)、枚举类型(Enums)等前端工程师可能不是很熟悉的概念 - 短期可能会增加一些开发成本,毕竟要多写一些类型的定义,不过对于一个需要长期维护的项目,
TypeScript能够减少其维护成本 - 集成到构建流程需要一些工作量
- 可能和一些库结合的不是很完美
如何使用 TypeScript
全局安装
npm install -g typescript
在使用的 IDE 中可进行安装插件配置 .ts 文件,使其高亮及错误提示
如果使用的是 vue-cli3, 可自行按安装流程 使用 TypeScript 进行编译开发编译为 JavaScript
由于.ts 文件无法直接在浏览器中使用,因此必须将它们编译为常规 JavaScript。
除了最常见的使用 webpack 来配置自动在编译时转义外,还可以使用命令行工具tsc,如下所示:
tsc index.ts
上面的命令会给你一个名为的文件index.js。如果.js已存在具有该名称的文件,则将覆盖该文件。
也可以通过简单地列出它们来一次编译多个文件:
tsc index.ts main.ts
如果你在与许多大型项目的使用 .ts 文件,可创建一个tsconfig.json文件。更多配置信息 请戳 TypeScript文档。
点赞支持、手留余香、与有荣焉,动动你发财的小手哟,感谢各位大佬能留下您的足迹。
往期精彩推荐
Vue 虚拟 DOM 搞不懂?这篇文章帮你彻底搞定虚拟 DOM
Git 相关推荐
面试相关推荐
更多精彩详见:个人主页