0

Объясните пожалуйста мне, недалёкому быдлокодеру, что такое this в JS, для чего оно нужно, где используется, желательно привести пару примеров, потому что я не понимаю принцип работы, когда я читаю об этом на информационных ресурсах.

первый ресурс

второй ресурс

Bender
  • 67
  • ссылка на текущий объект; если нет объекта то на глобальный объект window ; если в новом стандарте то будет undefined – xes Feb 10 '19 at 17:54
  • https://learn.javascript.ru/object-methods#ssylochnyy-tip здесь – xes Feb 10 '19 at 17:57
  • https://habr.com/ru/post/149516/ – webDev_ Feb 10 '19 at 17:58

1 Answers1

2

Если кратко, то в JS this — это текущий контекст исполнения функции. Если метод был вызван из объекта, тогда this в контексте метода является ссылкой на родительский объект:

var parent = {
  method: function() {
    console.log(this);
  }
};

parent.method();

//А при таком вызове будет ссылаться на Window:

var parentless = parent.method;

parentless();

Air
  • 14,505
DmiProps
  • 36
  • 1
  • 1
  • 4
  • и для чего это нужно в итоге, в случае с ссылкой на родительский объект? – Bender Feb 10 '19 at 18:05
  • Например, чтобы организовать выполнение функции в зависимости от контекста, в котором она вызвана. В частности, в зависимости от родительского объекта ее поведение может быть разным. – DmiProps Feb 10 '19 at 18:11
  • @СотниЛичностей советую почитать что-нибудь про ООП вне рамок javascript, а именно, понять, что такое классы, методы и экземпляры классов. Тогда вам сразу станет понятно, зачем нужен this. – Beast Winterwolf Feb 10 '19 at 18:22