Ikat fungsi sebagai sebuah metode
Apakah keluarannya?
function f() {
alert( this ); // ?
}
let user = {
g: f.bind(null)
};
user.g();
Jawabannya: null
.
function f() {
alert( this ); // null
}
let user = {
g: f.bind(null)
};
user.g();
Konteks dari pengikatan fungsi sangat sulit diperbaiki. Tidak ada cara untuk merubahnya dilain waktu.
Jadi bahkan ketika kita menjalankan user.g()
, fungsi aslinya dipanggil dengan this=null
.