Postingan lainnya
Kelas Premium!
Belajar Javascript untuk website
Gunakan kupon "mulaijs" untuk diskon 75 ribu!
Apa kegunaan .bind(this) pada JavaScript
contoh
var setMessage = function(data) {
var val = data.val();
this.displayMessage(data.key, val.name, val.text, val.photoUrl, val.imageUrl);
}.bind(this);
6 Jawaban:
Jawaban Terpilih
Gini. This dalam javascript ngacu ke function yg pertama. Jika ada function lagi di dalam function yg pertama tsb kita mw ambil this dari function yg pertama, ga dapet, tanpa di bind this terlebih dahulu
var a = function () {
this.nama = 'dono';
var x = function () {
console.log(this.nama);
// ini hasilnya dono kalo this ga di bind dono nya ga dapet
}.bind(this);
x();
}
Ini sudah dipermudah di es6 pake arrow function
var a = function () {
this.nama = 'dono';
var x = () => {
console.log(this.nama);
};
x();
};
Intinya, fungsi ".bind(this)" pada JS berguna agar referensi nilai "this" di dalam suatu fungsi tidak berubah saat dieksekusi.
@Qaiserlab Wah keren2. tapi arrow function gk bisa di uglify pake gulp selalu ada error. bner kah?
Kalau sy pake webpack sama babel gan utk nulis es6 mah. Itu juga udah auto konfigurasi bawaan vue-cli gan. Cukup install vue-cli environment dan skeletonnya semua beres. Itu kalau agan pake vuejs. Kalo sekedar nambah2in script di dalam web mah, ngga pake es6 saya gan, ngapain bikin repot compilenya. Pake aja standard es5 yg bind this tadi. Kalo mw bikin aplikasi mobile hybrid baru tuh pake compile2 an sgala, kan sekalian bikin sistemnya spa
Paham2. Tapi ane sendiri agak ragu buat belajar semacam babel, typescript, dan yang serupanya karena javascript sendiri masih belum paham secara keseluruhan. Apakah bijak kalo belajar babel dll tetapi js nativenya masih kurang ?
Kalau sy pribadi. Belajarnya ga perlu berurutan gan. Sy belajar apa yg sy lagi patience ke situ. Soalnya dgn keadaan gitu sy betah belajarnya. Ibarat kalo buka buku ga perlu urutan bab nya. Sy langsung baca bagian akhir atau tengah. Ga masalah buat sy. Ujung2nya sy nyambung juga. Tapi sy tipikal org yg senang belajar dasarnya sih gan. Sy gatau kalo orang lain bisa dgn cara sperti sy pa ga
Sy udah bisa jquery duluan ketimbang nguasain dasar2 native javascript. Tapi ujungnya sy pelajari juga nativenya