Как обучающийся разработчик, мой опыт работы с 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
.