为什么选择TypeScript

为什么选择TypeScript

TypeScript (TS) 是微软开发的一种开源编程语言,可以编译成 JavaScript (JS) 代码。自 2012 年发布以来,这门语言一直保持活跃发展并且越发受欢迎。

TypeScript 和 JavaScript 的区别是什么?

TypeScript 是 JavaScript 的超集,可以编译成 JavaScript 代码。用 JavaScript 编写的合法代码,在 TypeScript 中依然有效。TypeScript 是纯面向对象的编程语言,包含类和接口的概念。程序员可以用它来编写面向对象的服务端或客户端程序,并将它们编译成 JavaScript 代码。

  • TypeScript 和 JavaScript 的关系图。
image.png
  • 主要不同点

    • TS是一种面向对象编程语言,而JS是一种脚本语言(尽管JS是基于对象)

    • TS支持可选参数,JS则不支持该特性

    • TS支持静态类型,JS不支持

    • TS支持接口,JS不支持接口

  • 为什么要用 TypeScript

    • TS在开发时就能给出编译错误,而JS错误则需要在运行时才能暴露

    • 作为强类型语言,你可以明确知道数据的类型。代码可读性极强,几乎每个人都能理解

    • TS非常流行,被很多业界大佬使用。像Asana、Circle CL 和 Slack 这些公司都在用TS

  • 为什么不该用TypeScript

    • TS需要编译。TS得通过编译才能变成JS代码

    • 随着时间的推移,类型可能变得非常复杂。当项目不断变大时,这种情况十分常见

    • 尽管TS时类型安全的,在有些情况下编译器也有检查不出任何错误的情况。当我们修改编译后的JS代码时,错误就不可检测了。不过随着编译器不断改进,这种情况会越来越少。

  • TypeScript 是一种给 JavaScript 添加特性的语言扩展。增加的功能包括:

    • 类型批注和编译时类型检查

    • 类型推断

    • 类型擦除

    • 接口

    • 枚举

    • Mixin

    • 泛型编程

    • 名字空间

    • 元组

    • Await

  • 两者的对比

JavaScript TypeScript
语言 脚本语言 面向对象编程语言
学习难度 灵活易学 需要有脚本编程经验
类型 轻量级解释编程语言 强类型的面向对象编程语言
客户端/服务端 客户端服务端都有 侧重客户端
拓展名 .js .ts 或 .tsx
耗时 更快 编译代码需要些时间
数据绑定 没有类型和接口的概念 使用类型和接口表示数据
注解 不需要注解 使用注解才能最大限度发挥 TypeScript的特性
语法 所有的语句都写在脚本标签内。浏览器将脚本标签内的文本识别为脚本 一个 TypeScript 程序由模块、方法、变量、语句、表达式和注释构成。
静态类型 JS 中没有静态类型的概念 支持静态类型
模块支持 不支持模块 支持模块
接口 没有接口 支持接口
可选参数方法 不支持 支持
原型 没有这种特性 支持原型特性
开发者社区 JS 使用范围很广,被编程社区广泛接受和使用 TS 比较新,编程社区相对较小
参考选择 小型项目 TS 是一种面向对象语言,代码更简洁,可读性和复用性强。因此 TS 更适合大型项目。

TypeScript是ECMAScript 2015的语法超集,是JavaScript的语法糖。JavaScript程序可以直接移植到TypeScript,TypeScript需要编译(语法转换)生成JavaScript才能被浏览器执行。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、什么是Typescript? TypeScript是一种由微软开发和维护的免费开源编程语言。它是一个强类型的J...
    家有饿犬和聋猫阅读 4,962评论 0 1
  • TS是什么 为什么要用TS TS能干什么 社区发展 周边生态 深入理解TS 接受TS 权衡 TS是什么 为什么要用...
    碎月雨中奏besos阅读 3,130评论 0 0
  • 一、简介 1.1 什么是 TypeScript TypeScript 是 JavaScript 的一个超集,主要提...
    _ihhu阅读 5,062评论 0 2
  • 1:什么是Typescript? Typescript是强类型的Javascript超集,支持ES6语法,支持面向...
    南山码僧阅读 31,474评论 1 10
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 11,020评论 0 5