由于TypeScript的先天优势,TypeScript越来越受欢迎。那问题来了:TypeScript 和 JavaScript 究竟哪个更好?JavaScript真的会败北吗?
作者 | Mahdhi Rezvi
译者 | 明明如月,责编 | 郭芮
出品 | CSDN(ID:CSDNnews)
以下为译文:
-
interfaces 接口 -
classes 类 -
enumerated types 枚举类型 -
generics 泛型 -
modules 模块
-
TS 是一种面向对象编程语言,而 JS 是一种脚本语言(尽管 JS 是基于对象的)。 -
TS 支持可选参数, JS 则不支持该特性。 -
TS 支持静态类型,JS 不支持。 -
TS 支持接口,JS 不支持接口。
-
TS 在开发时就能给出编译错误, 而 JS 错误则需要在运行时才能暴露。 -
作为强类型语言,你可以明确知道数据的类型。代码可读性极强,几乎每个人都能理解。 -
TS 非常流行,被很多业界大佬使用。像 Asana、Circle CI 和 Slack 这些公司都在用 TS。
-
TS 需要编译。TS 得通过编译才能变成 JS 代码。 -
随着时间的推移,类型可能变得非常复杂。当项目不断变大时这种情况十分常见。 -
尽管 TS 是类型安全的,在有些情况下编译器也有检查不出任何错误的情况。当我们修改编译后的 JS 代码时,错误就不可检测了。不过随着编译器不断改进,这种情况会越来越少。
JavaScript | TypeScript | |
---|---|---|
语言 | 脚本语言 | 面向对象编程语言 |
学习难度 | 灵活易学 | 需要有脚本编程经验 |
类型 | 轻量级解释编程语言 | 强类型的面向对象编程语言 |
客户端/服务端 | 客户端服务端都有 | 侧重客户端 |
拓展名 | .js | .ts 或 .tsx |
耗时 | 更快 | 编译代码需要些时间 |
数据绑定 | 没有类型和接口的概念 | 使用类型和接口表示数据 |
注解 | 不需要注解 | 使用注解才能最大限度发挥 TypeScript的特性 |
语法 | 所有的语句都写在脚本标签内。浏览器将脚本标签内的文本识别为脚本 | 一个 TypeScript 程序由模块、方法、变量、语句、表达式和注释构成。 |
静态类型 | JS 中没有静态类型的概念 | 支持静态类型 |
模块支持 | 不支持模块 | 支持模块 |
接口 | 没有接口 | 支持接口 |
可选参数方法 | 不支持 | 支持 |
原型 | 没有这种特性 | 支持原型特性 |
开发者社区 | JS 使用范围很广,被编程社区广泛接受和使用 | TS 比较新,编程社区相对较小 |
参考选择 | 小型项目 | TS 是一种面向对象语言,代码更简洁,可读性和复用性强。因此 TS 更适合大型项目。 |
表格来自:Edureka
热 文 推 荐
☞小米回应“米家”商标争议;人人 App 回归社交市场;TiDB 2.1.19 发布| 极客头条
☞6 个重要模块,带你编写一个基于Golang的区块链公链demo!| 博文精选
文章评论