var caca = {
nama : ‘caca’,
berat : 45,
tinggi : 160,
hobby : [“makan”, “nonton”],
sebutkanHobby : ()=>{
console.log(“Hobi Caca adalah : “);
for (var i=0;i<this.hobby.length;i++){
console.log(this.hobby[i]);
}
}
}
caca.sebutkanHobby();
di video tersebut dijelaskan bahwa penggunaan this merujuk pada key hobby yang ada di dalam segmen tersebut yaitu objeck caca, kemudian setelah saya cba hasilnya error seperti ini :
node /tmp/5bbzIdWLNB.js
Hobi Caca adalah :
/tmp/5bbzIdWLNB.js:8
for (var i=0;i<this.hobby.length;i++){
^
TypeError: Cannot read property ‘length’ of undefined
at Object.sebutkanHobby (/tmp/5bbzIdWLNB.js:8:35)
at Object.<anonymous> (/tmp/5bbzIdWLNB.js:14:6)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)
setelah this saya rubah menjadi caca.hobby.length barulah bisa tereksekusi, begitupun juga ketika memanggil value dari hobby tersebut, baru jalan ketika this saya rubah jadi caca.
mohon penjelasannya coach