Как обучающийся разработчик, мой опыт работы с Javascript был настоящим путешествием. В этом блоге я объясняю одну из самых сложных для понимания концепций в самых простых терминах ВОЗМОЖНО.

Одна из самых трудных для объяснения вещей — это «this"» (и… нет, не то «это», которое мы используем в нашем повседневном английском языке, о котором вы тоже думаете), мы говорим о this в терминах Javascript.

При вызове this внутри объекта или класса объект или класс быть возвращены.

const person = {
   name: 'naomi'
   personality() {
    console.log(this);
   }
};  // because the personality is a method in the person object, this references this object by itself 
person.personality();

Он вернет что-то подобное в вашей консоли, например:

{name: "naomi", personality: f}

При вызове this внутри функции возвращается объект Window.

function theHuman() {
   console.log(this) /// this will return the window in the console
}
theHuman();

Если this вызывается в функции, но создается, как показано ниже:

constructor(name){
  this.name
 console.log(this);
}

this будет объектом, который создается.

И последнее, но не менее важное: если вы хотите использовать любой ключ внутри объекта, this будет объектом.

const person = {
   name: 'naomi'
   bio: ["19", "short", "black hair"]
   }
   personality() {
    Person.bio
    this.bio
   }
};

В этом случае мы хотим использовать «биографию» в объекте, поэтому мы не хотим использовать точечную нотацию для this по сравнению с Ruby, мы используем self.bio, в Javascript этот объект мы будем использовать this.bio.