shakiriker
@shakiriker

This в codesandbox.io,create-react-app, use strict and не use strict?

я новичок в JS. и я не очень понимаю, как this работает. У меня есть несколько примеров, и они работают по-разному .

пример 1

var obj = {
    id: "awesome",
    cool: function coolFn() {
        console.log( this);
    }
};

var id = "not awesome";

obj.cool(); 

setTimeout( obj.cool, 100 );


codesandbox Object {id: "awesome", cool: function coolFn()}, null.

use strict {id: "awesome", cool: ƒ},Window{...}.

not use strict {id: "awesome", cool: ƒ},Window{...}.

create-react-app {id: "awesome", cool: ƒ},Window{...}.

example 2

var obj = {
  id: "awesome",
  cool: () => {
    console.log(this);
  }
};

var id = "not awesome";

obj.cool();

setTimeout(obj.cool, 100);


codesandbox undefined, undefined.

use strict Window{...},Window{...}.

not use strict Window{...},Window{...}.

create-react-app undefined , undefined.

кто может объяснить, что происходит в моих примерах?
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы