ES6与ES5相比,加入了许多新的特性,下面就对这些新特性进行简要说明,同时也是以后详细学习的目标。
对了,差点忘了,此处声明,作为一名小白,在ES6新特性学习内容主要参考阮一峰先生编写的《ES6标准入门》以及各位大神的博客和帖子,在此感谢!!!
1 let和const命令
let和const都是声明变量的命令,与声明变量的var命令作用相同,但不同之处:
let命令声明的变量仅在代码块中有效;
const命令声明的为常量,只具有读属性,不能改变变量的值。
如下面的代码分别使用var和let声明变量,let只在for循环的代码块中有效,在代码块之外打印let声明变量的值该变量会出错(not defined)
效果示范及报错信息:
对于const声明变量,易于理解,这里不再测试
2 变量的解构
解构(Destructuring):ES6 允许按照一定模式,从数组和对象中提取值,既可以变量进行赋值,同时也可以用于函数返回数组。
代码示例:
效果示范:
3 数值的扩展
从 ES5 开始,在严格模式之中,八进制就不再允许使用前缀0表示,ES6 进一步明确,要使用前缀0o表示。而ES6提供了二进制和八进制的新写法,规定二进制使用前缀0b或者0B,八进制使用前缀0o或者0O。
代码及结果示例(结果使用注释给出):
除了对进制的规定,ES6中还添加了Number.isFinite(),Number.isNaN()等等新的方法,具体内容将在以后的学习中给出
4 字符串新功能
ES 允许使用Unicode 码点表示一个字符,但是这种表示法只限于码点在\u0000~\uFFFF之间的字符。超出这个范围的字符,必须用两个双字节的形式表示。在ES6之后,引入了花括号对超出范围字符的表示,只要该码点处于一个花括号中,就可以正确解析该字符。
举个栗子(打印信息在注释中):
与数值扩展同样,除了这个新功能,在字符串中,引入了一系列新功能,如:String.fromCharCode方法,String.raw方法等等,在以后内容展开。
除了以上几种新特性,ES6还有正则,对象,函数扩展,for···of循环,set和map新的数据结构,class语法等等新的特性,都是以后慢慢学习的内容。
下一节:let和const命令实践(一)