The following code works as expected:
let letter = {
getNum() {
return this.number;
}
};
let a = {number:20, __proto__:letter};
console.log(a.getNum()); // 20
but if getNum were changed to arrow function:
let letter = {
getNum: () => this.number
};
a.getNum() returns undefined, why is that?