ECMAScript 是什么

很多初学者都很困惑,ECMAScript是什么?它跟JavaScript有什么关系?
大家注意到了吗?从题目中我们就可以看出来了,ECMAScript是JavaScript的组成部分,JavaScript没了它可是不行的。
咦?为什么没了它可不行,它有什么作用居然这么重要?
 
大家再回忆一下,平时我们写javascript代码的时候,用什么声明一个变量,没错,是用关键字:var,为什么是 var 而不是其他的单词?此外,为什么我们都用function关键字来声明一个函数,而不是用其他单词?为什么呢?因为这是ECMAScript规定了我们要这么做,它规定了javascript的语法规则。
 
再举个栗子,javascript语法中是区分大小写、变量是弱类型的、结尾的分好可有可无、括号表示代码块等等,为什么会有这样的规定?因为这些全都是ECMAScript规定的,我们都要按照它的规定来玩。
 
就好比我们中学写作文(理科生的痛),内容你可以自己发挥,但是写作规范要统一,用“,”代表逗号,“!”代表感叹号,“......”代表省略号,段落开通要空两格。此外,如果你要写信,就要遵守写信的格式一样,开头要有称呼:“尊敬的xxx”,这就是写作的格式规范!
如果没有了ECMAScritpt,就好比写作文的时候,内容再精彩,但是整篇文章标点符号胡编乱造,改卷老师也不会给你好的分数,甚至看不懂作文的意思。

ECMAScript就是JavaScript中的语法规范!

 
大家是否有点头绪了,好像ECMAScript很diao 的样子,可以规定我们怎么去写代码的。没错,它就是辣么diao,而且“后台”很硬,我们来看看它相关的介绍:
 
ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer ManufacturersAssociation)通过ECMA-262标准化的脚本程序设计语言。
 
看到了吗,ECMAScript是属于国际标准化的语言,所有浏览器开发商都要按照它制定的标准来开发浏览器。开发者也一样,按照它的规定来编程代码。
 
ECMAScript就是这么牛逼哄哄的存在,它规定了我们javascript的最基础的部分!
 

ECMAScript 的作用(完整版)

那么,我们现在就知道了,ECMAScript是JavaScript的组成部分,它很重要,它还有其他作用吗?
 
有的,它还定义了很多重要的东西,包括:
 
  • 语法 – 解析规则,关键字,语句,声明,操作等
  • 类型 – 布尔型,数字,字符串,对象等
  • 原型和继承
  • 内置对象和函数的标准库 – JSON,数字(Math),数组方法,对象内省的方法等等。

了解了ECMAScript之后,那什么是ES6呢?

ES6是ECMAScript 6的缩写简称,这个好理解。顾名思义,它是ECMAScript的第6个版本,也就是说它有更早的版本,以后还会有更多版本。
ECMAScript 的历史
我们大概地了解一下ECMAScript的历史。
1996 年 11 月,Netscape 公司,决定将 JavaScript 提交给国际标准化组织 ECMA。次年,ECMA发布 ECMAScript。这个版本就是 ECMAScript 1.0 版。
1998 年 6 月,ECMAScript 2.0 版发布。
1999 年 12 月,ECMAScript3.0 版发布,成为 JavaScript 的通行标准,得到了广泛支持。
2007 年 10 月,ECMAScript4.0 版草案发布,对 3.0 版做了大幅升级,但是,以 Yahoo、Microsoft、Google为首的大公司,反对 JavaScript 的大幅升级,主张小幅改动,各方分歧太大,争论过于激进,ECMA 开会决定,中止 ECMAScript 4.0 的开发
2009 年 12 月,ECMAScript5.0 版正式发布。
2015 年 6 月,ECMAScript 6 正式通过,成为国际标准。

ES6 为什么受欢迎

 
为什么ES6好像挺火的样子?
 
确实是这样的,对于很多开发者来说,ES6带来的新功能涵盖面很广,还有很多很便利的功能等(如:箭头的功能和简单的字符串插值,不懂没关系,后续陆续介绍),确实令人兴奋。
 
综合上述ECMAScritpt的介绍,我们认识到了,要学好JavaScript,就必须先学好ECMAScritpt,而且是最新的版本ECMAScritpt 6。
 
小总结
 
总结:ECMAScript是JavaScript的基础标准部分,而ECMAScript6则是它的最新一代的标准。

更多前端学习内容文章干货请关注我的专栏(不断更新)

阿里名厂标准web前端高级工程师教程目录大全,从基础到进阶,看完保证您的薪资上升一个台阶

在这里我给大家准备了很多的学习资料

其实你与阿里工程师的差距只差这些东西

 
 

ES6系列-什么是ES6?新手应该怎么理解的更多相关文章

  1. 大白话,讲编程之《ES6系列连载》汇总

    如果你经历过2,3年前的前端开发,你一定感受过兼容IE6,7的痛苦,一定用过网页三剑客的dreamweaver编写html,面试的时候面试官一定会问你:会用PS切图吗? 刚开始的时候你发现,web前端 ...

  2. [js高手之路] es6系列教程 - 对象功能扩展详解

    第一:字面量对象的方法,支持缩写形式 //es6之前,这么写 var User = { name : 'ghostwu', showName : function(){ return this.nam ...

  3. [js高手之路] es6系列教程 - 迭代器,生成器,for...of,entries,values,keys等详解

    接着上文[js高手之路] es6系列教程 - 迭代器与生成器详解继续. 在es6中引入了一个新的循环结构for ....of, 主要是用来循环可迭代的对象,那么什么是可迭代的对象呢? 可迭代的对象一般 ...

  4. ES6 系列之 Babel 是如何编译 Class 的(下)

    前言 ES5 寄生组合式继承 function Parent (name) { this.name = name; } Parent.prototype.getName = function () { ...

  5. ES6系列汇总

    汇 总 第一节:什么是ES6?新手该如何理解 第二节:ES6新增了let关键字,干嘛用的? 第三节:ES6中另一个不得不说的关键字const 第四节:教你如何快速让浏览器兼容ES6特性 第五节:一个令 ...

  6. es6系列-变量声明

    es6系列所有文章都是阅读阮一峰老师的<ES6标准入门>(第2版)所做的读书笔记.方便日后查阅相关基础知识. git地址: https://github.com/rainnaZR/es6- ...

  7. ES6 系列之异步处理实战

    前言 我们以查找指定目录下的最大文件为例,感受从 回调函数 -> Promise -> Generator -> Async 异步处理方式的改变. API 介绍 为了实现这个功能,我 ...

  8. [ES6系列-01]Class:面向对象的“新仇旧恨”

    [原创]CoderPower 大家好,这里是码路工人有力量,我是码路工人,你们是力量. 这是公众号(码路工人有力量)开通后的第二篇,写得还是有待改进吧.这次准备写一个关于ES6基础的短文系列,努力尽快 ...

  9. ES6系列之项目中常用的新特性

    ES6系列之项目中常用的新特性 ES6常用特性 平时项目开发中灵活运用ES6+语法可以让开发者减少很多开发时间,提高工作效率.ES6版本提供了很多新的特性,接下来我列举项目中常用的ES6+的特性: l ...

随机推荐

  1. iOS 预渲染加速图像显示

    使用 UITableView 时,发现滚动时的性能还不错,但来回滚动时,第一次显示的图像不如再次显示的图像流畅,出现前会有稍许的停顿感. 于是猜想显示过的图像肯定是被缓存起来了,查了下文档后发现果然如 ...

  2. 读者来信 | 刚搭完HBase集群,Phoenix一启动,HBase就全崩了,是什么原因?(已解决)

    前言:之前有朋友加好友与我探讨一些问题,我觉得这些问题倒挺有价值的:于是就想在本公众号开设一个问答专栏,方便技术交流与分享,专栏名就定为:<读者来信>.如遇到本人能力有限难以解决的问题,我 ...

  3. HTML 基础(六)

    一.脚本 JavaScript 是 HTML 页面具有更强的动态和交互性 <script> 标签 <script> 标签用于定义客户端脚本,<script> 元素既 ...

  4. JAVA常见面试题问题简述(持续更新中)

    JAVA常见面试题问题简述 1. springcloud和dubbo的区别 ①相比之下springcloud 的社区会更加活跃,解决问题的速度也会越来越快,dubbo相对来说如果碰到没有解决的问题,就 ...

  5. 使用 nodejs 对文件进行批量重命名

    0. 前言 从B站下载了一点视频,硕鼠自动将标题添加到了每个文件名的前面,导致文件名过长,不方面查看文件的具体内容. 虽然只有二十几个文件,但是手动删除前缀还是个不小的工作量,还有可能删除错误.考虑到 ...

  6. A 皮呵德

    时间限制 : 5000 MS   空间限制 : 262144 KB 问题描述 Eyiz正在与邪恶的Dgdon战斗. 为了打败Dgdon,Eyiz决定召唤PhantasmDragon来帮助他. 但是,召 ...

  7. 1053 Path of Equal Weight (30分)(并查集)

    Given a non-empty tree with root R, and with weight W​i​​ assigned to each tree node T​i​​. The weig ...

  8. on duplicate key update 的用法说明(解决批量操作数据,有就更新,没有就新增)mybatis批量操作数据更新和添加

    项目用的ORM框架是用springdatajpa来做的,有些批量数据操作的话,用这个效率太低,所以用mybatis自己写sql优化一下. 一般情况,我们肯定是先查询,有就修改,没有就添加,这样的话,单 ...

  9. Java并发编程实战 01并发编程的Bug源头

    摘要 编写正确的并发程序对我来说是一件极其困难的事情,由于知识不足,只知道synchronized这个修饰符进行同步. 本文为学习极客时间:Java并发编程实战 01的总结,文章取图也是来自于该文章 ...

  10. .NET MVC中登录过滤器拦截的两种方法

    今天给大家介绍两种ASP中过滤器拦截的两种方法. 一种是EF 的HtppModule,另一种则是灵活很多针对MVC的特性类 Attribute 具体什么是特性类可以参考着篇文章:https://www ...