es5,es6 对比
1.es6的箭头函数中,this指向创建者,并非调用者,fun1在全局函数下创建,所以this指向全局window,而fun2在对象data下创建,this指向data对象,所以在func2函数内部this指向data对象 2.const定义的变量不可以修改,而且必须初始化。 3.解析结构 // es5 var loading = props.loading; var clicked = props.clicked; // es6 const { loading, clicked } = props; // 给一个默认值,当props对象中找不到loading时,loading就等于该默认值 const { loading = false, clicked } = props; 4. // es5 var fn = function(a, b) { return a + b; } // es6 箭头函数写法,当函数直接被return时,可以省略函数体的括号 const fn = (a, b) = >a + b; 5.使用ES6默认参数特性将param2默认为0。 // _note_me_Add function sum(param1, param2 = 0) { console.log(param2); // => 0 return param1 + param2; } sum(1); // => 1 sum(1, undefined); // => 1 #有一种特殊情况: 箭头w函数中没有arguments。const sumArgs = () = >{ console.log(arguments); return 0; }; // throws: "Uncaught ReferenceError: arguments is not defined" sumArgs();