var obj1 = {}; var obj2 = {}; obj1.m = 4; obj2.m = 5; Object.setPrototypeOf(obj1, obj2); obj1.x = () => { let m = 6; console.log(this.m); } obj1.x();Что выведет консоль?
obj1.x
"сидит" стрелочная функция, а в стрелочной функции this берётся "снаружи". В данном случаев значением this в стрелочной функции будет глобальный объект window
, у которого нет свойства m
.