區別
- 箭頭函數體內的this對象,就是定義時所在的對象,而不是使用時所在的對象。
- 箭頭函數沒有arguments,如果要用,可以用 rest 參數代替 (注意在node環境下是有arguments的)
- 箭頭函數不能作為構造函數,不能使用new
- 箭頭函數沒有原型,不能繼承
- 箭頭函數不能當做Generator函數,不能使用yield關鍵字
驗證示例
<script>
const test1=(...numbers)=>{
console.log(this)
console.log(numbers)
console.log(arguments)
};
const test2=function(){
console.log(this)
console.log(arguments)
}
test1(123);//分別輸出 window [123] 報錯
test2(123);//分別輸出 window Arguments
</script>
const test1=(...numbers)=>{
console.log(this)
console.log(numbers)
console.log(arguments)
};
const test2=function(){
console.log(this)
console.log(arguments)
}
test1(123);//分別輸出 global [123] Arguments
test2(123);//分別輸出 global Arguments
參考