function 可以用 => 代替
var array = [1, 2, 3];//传统写法array.forEach(function(v, i, a) { console.log(v);});//ES6array.forEach(v = > console.log(v));
可以支持类calss
//类的定义class Animal { //ES6中新型构造器 constructor(name) { this.name = name; } //实例方法 sayName() { console.log('My name is '+this.name); }}//类的继承class Programmer extends Animal { constructor(name) { //直接调用父类构造器进行初始化 super(name); } program() { console.log("I'm coding..."); }}//测试我们的类var animal=new Animal('dummy'),wayou=new Programmer('wayou');animal.sayName();//输出 ‘My name is dummy’wayou.sayName();//输出 ‘My name is wayou’wayou.program();//输出 ‘I'm coding...’
字符串模板
` ` 代替' '或" "
var a = '123';alert(`${a}`);
默认参数
function sayHello(name){ //传统的指定默认参数的方式 var name=name||'dude'; console.log('Hello '+name);}//运用ES6的默认参数function sayHello2(name='dude'){ console.log(`Hello ${name}`);}sayHello();//输出:Hello dudesayHello('Wayou');//输出:Hello WayousayHello2();//输出:Hello dudesayHello2('Wayou');//输出:Hello Wayou
不定参数
//将所有参数相加的函数function add(...x){ return x.reduce((m,n)=>m+n);}//传递任意个数的参数console.log(add(1,2,3));//输出:6console.log(add(1,2,3,4,5));//输出:15
for of遍历
var someArray = [ "a", "b", "c" ]; for (v of someArray) { console.log(v);//输出 a,b,c}
Map Set
// Setsvar s = new Set();s.add("hello").add("goodbye").add("hello");s.size === 2;s.has("hello") === true;// Mapsvar m = new Map();m.set("hello", 42);m.set(s, 34);m.get(s) == 34;