⊗jsOpAdMCL 43 of 60 menu

Kehilangan Konteks dalam Kode Metode di OOP JavaScript

Saat menggunakan kode asli metode kelas, konteks bisa hilang. Mari kita lihat contohnya. Misalkan kita memiliki kelas berikut:

class User { #name; constructor(name) { this.#name = name; } getName() { return this.#name; } }

Mari buat objek dari kelas ini:

let user = new User('john');

Mari rekam kode metode ke dalam variabel:

let func = user.getName;

Pada saat merekam metode ke dalam variabel, konteksnya hilang. Sekarang this di dalam kode metode tidak akan menunjuk pada objek kelas. Mari kita periksa, panggil fungsi kita:

console.log(func()); // error

Untuk menyelesaikan masalah ini, kita dapat mengikat konteks ke fungsi, misalnya, melalui bind:

func = func.bind(user); console.log(func()); // berhasil
Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak