TypeScript 能解决什么痛点

您所在的位置:网站首页 typescript优点 TypeScript 能解决什么痛点

TypeScript 能解决什么痛点

2024-07-09 20:54| 来源: 网络整理| 查看: 265

概念

 

我们把官网的概念拆分成三部分,每一部分都可用一个关键词来概括:超集、任何、并且

1. JavaScript and More.  →  TypeScript 是 JavaScript 类型的超集,它可以编译成纯 JavaScript

2. A Result You Can Trust.  →  它可以编译成纯 JavaScript,能运行 JavaScript 的地方,都可以运行 TypeScript

3. Gradual Adoption.  →  使用 JavaScript  or TypeScript 并不是二元选择,JavaScript and TypeScript 可以一起使用

使用 TS 的优点

1. 在JS 有的基础类型,它都有;JS 没有的基础类型,他也有。

TS 增加了元组(元素类型不相同的数组)、枚举(JS数据类型的补充)、Any(可为任意类型,与 Object 有一定区别)、Void(没有任何类型,通常在函数没有返回值时用)、Never(不存在的值的类型),这让我们对数据的处理变的更方便

2. 增强代码的可读性。类型定义,要求开发人员必须定义属性(变量)的类型,使得属性(变量)的使用更规范,数据交互更安全

interface Person { name: string; age: number; isLogin: boolean; // 可选属性 luckyColor?: string; // 联合类型 mix: number | string; // 只读属性 readonly fatherName: string; readonly motherName: string; // 可索引类型 [index: number]: any; // 函数类型 sayHi: ()=>string } let people: Person = { name: "ykx"; age: "18"; isLogin: true; // 可选属性 // luckyColor?: string; // 联合类型 mix: 666; // 只读属性 readonly fatherName: "ygw"; readonly motherName: "lr"; // 函数类型 sayHi: ():string =>{return "Hello, Word!"} } console.log( people.name, people.age, people.isLogin, people.mix, people.fatherName, people.motherName, people.sayHi: () )

3. 增强代码的可维护性。它的类型在编译时即可发现大部分的错误,可在运行代码之前就找到错误并提供修复,改善开发体验

4. 高生产力。方便多人开发,可以使他人快速了解变量的类型,加速接管代码,减少维护成本(与第3点类似)

5. 包容性。

js文件可以直接改成 ts 文件,不定义类型可自动推论类型(类型推断),为需要高安全保障的添加类型注释即可;可以定义几乎一切类型;ts 编译报错时也可以生成 js 文件;兼容第三方库,即使不是用 ts 编写的

6. 高覆盖性。任何浏览器,任何操作系统,任何可以运行 JavaScript 的地方

7. 高支持性。大多数的第三方库都可提供给 ts 的类型定义文件,完全支持 es6 规范

8. 逐步迁移性。使用 TypeScript 并不是一个二元选择,您可以首先使用 JSDoc 来注释现有的 JavaScript,然后只让 TypeScript 检查一小部分文件,从而让您的代码可以在后续迭代中逐渐完成迁移。

9. 开源。完全开源

10. 有活跃的社区。

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

11. 在编译器中快速切换。TypeScript 中对编辑器集成处理,可在不同的编辑器中获得一致的使用体验。允许在不同编辑器之间快速切换,例如 Visual Studio, Visual Studio Code, Nova, Atom, Sublime Text, Emacs, Vim, WebStorm and Eclipse 等(目前仅用 VS Code 使用过TS,不了解其他编译器,这是官网中提到的特性)

使用 TS 的缺点

1. 短期内增加开发成本,但是增加类型注释可减少维护成本

2. ts 集成到构建流程需要一定的工作量

3. 暂时和某些库结合时不是很完美

(好多人都认为使用 ts 会增加学习成本,比如对于前端开发来说,接口(Interfaces)和泛型(Generics),类(class)等概念不好理解,但这是成长为一个全栈工程师的必会基础。而且程序员本身就要不断的接受学习新技术甚至创造新技术,与时俱进)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3