The problem here is that when z is invoked it prints undefined. But when I change the declaration of variable x with var x, instead of let x, it prints 10. So, what is the difference when using 'this' keyword with var and let in this code.
let x = 10;
let y = {
x: 90,
getX: function() {
return this.x;
}
}
console.log(y.getX()); // 90
let z = y.getX;
console.log(z()); // undefined