this в JS

В JS this работает только в контексте метода, в контексте объекта this работать не будет (он будет иметь значение undefined или объект window)

let user = {
    name: "Gizmo",
    ref: this,
};

// Выведет undefined или Window{...}
console.log(user.ref);

Он будет "правильно" работать только из метода...

let user = {
    name: "Gizmo",
    ref: function (){
        return this;
    },
};

// Выведет {name: "Gizmo", ref: function}
console.log(user.ref());

Last updated