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. Cygwin工具编译Ardupilot方法

    注意:该编译方法生成的固件基于Chibios系统,如果想要Nuttx系统固件,需采用make编译,步骤见make编译说明部分. 软件安装准备 安装Cygwin 打开链接www.cygwin.com/i ...

  2. Ubuntu系统下命令行查看自己已安装的桌面环境问题

    原因:有时我们进行远程连接时需要知道我们的Ubuntu系统已安装的桌面环境,这时我们可以使用[dpkg]命令. [dpkg]:dpkg命令是Debian Linux系统用来安装.创建和管理软件包的实用 ...

  3. ICPC训练周赛 Benelux Algorithm Programming Contest 2019

    D. Wildest Dreams 这道题的意思是Ayna和Arup两人会同时在车上一段时间,在Ayna在的时候,必须单曲循环Ayna喜欢的歌,偶数段Ayna下车,若此时已经放了她喜欢的那首歌,就要将 ...

  4. JS 剑指Offer(二)二维数组中的查找

    04.在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序. 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. var ...

  5. C/C++知识总结 三 C/C++数据类型与输入输出

    C/C++数据类型与输入输出 基本数据类型 输入与输出 复合数据类型(将在下几篇博客中总结) C/C++数据类型 数据类型总图 数据类型差别 数据类型不同的意义 1)指明数据的大小,以便正确分配,访问 ...

  6. ansible--ansible基础

    配置文件 ansible的配置文件只有一个,即ansible.cfg,它可以存在于多个地方,ansible读取配置文件的顺序依次是当前命令执行目录->用户家目录下的.ansible.cfg-&g ...

  7. 下载安装配置 Spark-2.4.5 以及 sbt1.3.8 打包程序

    文章更新于:2020-03-29 按照惯例,文件附上链接放在文首. 文件名:spark-2.4.5-bin-without-hadoop.tgz 文件大小:159 MB 下载链接:https://mi ...

  8. flask-sqlalchemy的基本使用

    flask-sqlalchemy 1 .配置应用和基本使用 和sqlalchemy一样,先定义好数据库配置和db_url.然后在app的config加入SQLALCHEMY_DATABASE_URI等 ...

  9. CVPR2018关键字分析生成词云图与查找

    今日目标:爬取CVPR2018论文,进行分析总结出提到最多的关键字,生成wordCloud词云图展示,并且设置点击后出现对应的论文以及链接 对任务进行分解: ①爬取CVPR2018的标题,简介,关键字 ...

  10. Python 0(安装及初步使用+学习资源推荐)

    不足之处,还请见谅,请指出不足.本人发布过的文章,会不断更改,力求减少错误信息. Python安装请借鉴网址https://www.runoob.com/python/python-install.h ...