es5,es6

①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();

 ②箭头函数

箭头函数有几个使用注意点。

(1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。

(2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。

(3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。

(4)不可以使用yield命令,因此箭头函数不能用作 Generator 函数。

 

 

end.

 

posted @ 2019-12-10 14:14  wxid_m2pywu7fxu1f  阅读(455)  评论(0编辑  收藏  举报