1.this
(1)箭頭函數(shù)沒有this犁跪,由其定義時(shí)的上下文this決定椿息。
(2)因此歹袁,箭頭函數(shù)(是匿名函數(shù))不能作為構(gòu)造函數(shù)。
(3)箭頭函數(shù)通過call()或?apply()方法調(diào)用一個(gè)函數(shù)時(shí)寝优,只傳入了一個(gè)參數(shù)条舔,對(duì)this并沒有影響。
let obj2 = {
? ? a: 10,
? ? b: function(n) {
? ? ? ? let f = (n) => n + this.a;
? ? ? ? return f(n);
? ? },
? ? c: function(n) {
? ? ? ? let f = (n) => n + this.a;
? ? ? ? let m = {
? ? ? ? ? ? a: 20
? ? ? ? };
? ? ? ? return f.call(m,n);
? ? }
};
console.log(obj2.b(1));? // 11
console.log(obj2.c(1)); // 11
(4)箭頭函數(shù)沒有原型屬性
var a = ()=>{
? return 1;
}
function b(){
? return 2;
}
console.log(a.prototype);? // undefined
console.log(b.prototype);? // {constructor: ?}
2.arguments
箭頭函數(shù)沒有arguments乏矾,可用 ...代替
let fn = (...arg)=>{...}