JS 觀念 - 箭頭函式的 this 指向差異

傳統函式與箭頭函式寫法差別

傳統函式

取有餘數的值(單數)

1
2
3
4
5
6
7
const arr = [1, 2, 3, 4, 5];

const filterArr = arr.filter(function(item) {
return item % 2 // 只要結果為真值就會回傳
})

console.log(filterArr); // [ 1,3,5 ]

JS 觀念 - this 指向

this 指向

1
2
3
4
5
6
7
8
9
this 的指向為何
var obj = {
name: '小明',
fn: function(params) {
console.log(params, this, window, arguments);
}
}

obj.fn(1, 2, 3); // 這邊 this 指向 obj


JS 觀念 - ES6 縮寫

什麼是語法糖?

語法糖讓程式更加簡潔,有更高的可讀性。語法糖不會影響程式運作,邏輯與當前 JS 一致。

物件字面值 Object literals

  • 物件內的函式

1
2
3
4
5
6
7
8
const apple = {
name: '蘋果',
fn: function() {
return this.name;
}
}

console.log(apple.fn());

直接將 fn: function() {} 改為 fn() {} 即可