JavaScript、TypeScript、ES5、ES6之间的联系和区别

  • ECMAScript: 一个由 ECMA International 进行标准化,TC39 委员会进行监督的语言。通常用于指代标准本身。
  • JavaScript: ECMAScript 标准的各种实现的最常用称呼。这个术语并不局限于某个特定版本的 ECMAScript 规范,并且可能被用于任何不同程度的任意版本的 ECMAScript 的实现。
  • **ECMAScript 5 (ES5):**ECMAScript 的第五版修订,于 2009 年完成标准化。这个规范在所有现代浏览器中都相当完全的实现了。
  • **ECMAScript 6 (ES6) / ECMAScript 2015 (ES2015):**ECMAScript 的第六版修订,于 2015 年完成标准化。这个标准被部分实现于大部分现代浏览器。

ES6是什么

ECMAScript 6.0(以下简称ES6)是JavaScript语言(现在是遵循ES5标准)的下一代标准,已经在2015年6月正式发布了。它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

ES6的新特性

  • ES6中的let命令,声明变量,用法和var差不多,但是let是为JavaScript新增了块级作用域,ES5中是没有块级作用域的,并且var有变量提升的概念,但是在let中,使用的变量一定要进行声明。
  • ES6中变量的解构赋值,比如:var a,b,c = 0,1,2;
  • ES6中不再像ES5一样使用原型链实现继承,而是引入Class这个概念,听起来和Java中的面向对象编程的语法有些像,但是二者是不一样的。
  • ES6中的函数定义也不再使用关键字function,而是利用了=>来进行定义;
  • ES6中可以设置默认函数参数,如function A(x,y=9){};

ECMAScript和JavaScript的关系

由于JavaScript的创造者Netscae公司的版权问题,ECMAScript不能叫Javascript。总之,ECMAScript和JavaScript的关系是,前者是后者的规格(语言规范),后者是前者的一种实现。

JavaScript 与 TypeScript 的关系

TypeScript是Javascript的超集,实现以面向对象编程的方式使用Javascript。当然最后代码还是编译为Javascript。

TypeScript和ES6的关系

typescript相对于ES6,TypeScript最大的改善是增加了类型系统。

附:typescript相对于ES5有五大改善:

  • 类型
  • 注解
  • 模块导入
  • 语言工具包(比如,结构)

TypeScript是ES6的超集。至于需不需要使用,在于你所需要的场景。比如在Angular2中,用TypeScript明显好于ES6。

总结一下:

ES6是Javascript语言的标准,typescript是ES6的超集。

相关推荐
zhangyao9403307 小时前
开发pc端时,表格的高度怎么设置才能铺满页面
前端·javascript·elementui
XinZong7 小时前
实测OpenClaw虾淘:全民工具AI时代,冷门非工具类的Skill还能出圈吗?
javascript
烛衔溟7 小时前
TypeScript 类的类型 —— 作为类型使用
javascript·ubuntu·typescript
之歆8 小时前
Day16_JavaScript 轮播图与事件工程实战(下篇)
服务器·开发语言·前端·javascript·网络·性能优化
kyriewen8 小时前
我关掉了Copilot:因为我写的代码出现在了别人的建议里
前端·javascript·ai编程
SmartRadio9 小时前
STM32WLE5 LoRa Smart TDMA 完整协议栈实现(工程级可直接编译)-【1】
javascript·stm32·单片机·嵌入式硬件·lora·自组网·smart tdma
竹林8189 小时前
用 wagmi v2 踩坑两天,我终于搞懂了多链钱包切换
前端·javascript
子云zy10 小时前
JS 对象与包装类:new 做了什么?字符串为什么有 length?
前端·javascript
阿隅11 小时前
TS 深度解析:同为 ? 可选语法,为什么赋值一错一对?类类型与this绑定底层拆解
typescript
茶底世界之下11 小时前
你的 Mac 里,藏着一支 AI 开发团队
前端·javascript