アロー関数でのthisは外側のthisと同じだが、ただの関数では同じとは限らない。
let アリス = {}
// 外側関数をアリスに結び付けて実行。
外側関数.call(アリス)
function 外側関数() {
'use strict'
console.log(this === アリス) // true (モードによらず)
let アロー関数 = () => {
console.log(this === アリス) // true (モードによらず)
}
function ただの関数() {
console.log(this === undefined) // true
// ゆるいモードならthisはグローバルオブジェクト。
// (ブラウザ=>window, Node.js=>global)
}
アロー関数()
ただの関数()
}