兜兜转转,看阮一峰的博客ECMAScript 6入门已经有很久了,或许让我ES6是个什么,我还真说不上,既然说不上就是理解的不够透彻,所以还是要做一下笔记,好记性不如烂笔头,再一次做个总结:
1.定义和由来:
(简称 ES6)是 JavaScript 语言的下一代标准。(很多公司都会以这个标准去面试,我就是那种可能用过,却说不上来语法明确区别的人,嘿嘿。。。),96年Netscape 公司发布1.0版。2011年发布5.1版本。2015年发布6.1版本。ES6 既是一个历史名词,也是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017 等等,而 ES2015 则是正式名称,特指该年发布的正式版本的语言标准。本书中提到 ES6 的地方,一般是指 ES2015 标准,但有时也是泛指“下一代 JavaScript 语言”。。
2.es6转换成ES5的方法
(1)Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码,从而在现有环境执行。所有 使用Babel 工具和模块的使用,都必须先写好配置文件(.babelrc,其中presets字段设定转码规则,plugins设置插件)。(2)Google 公司的Traceur转码器
3,新增的语法
(1)let:
1,暂时性死区:ES6 新增了let命令,等同于var声明变量,但是只在let命令所在的代码块内有效,此处在使用同名变量使用let命令声明,所以在声明之前,都属于该变量的“暂时性死区”,只要用到该变量就会报错。2,不允许重复声明3,块级作用域(避免内层变量可能会覆盖外层变量或计数的循环变量泄露为全局变量等问题)
(2)const
const声明一个只读的常量。一旦声明,常量的值就不能改变,和let差不多,const命令声明的常量也是不提升,同样存在暂时性死区
var命令和function命令。ES6 除了添加let和const命令,后面章节还会提到,另外两种声明变量的方法:import命令和class命令。所以,ES6 一共有 6 种声明变量的方法。
网友评论