Весь код, за исключением return this;, я понимаю. Но мне не понятна суть самостоятельного this, даже если вместо него подставить Person. this.name, например, понятен, но что значит вернуть сам объект? ведь возвращается не сам объект, а то свойство, которое мы вызвали. Поясните, пожалуйста, доступным языком.
var Person = {
constructor: function(name, age, gender) {
this.name = name;
this.age = age;
this.gender = gender;
return this;
},
greet: function() {
console.log('Hi! My name is ' + this.name);
}
};
var person = Object.create(Person).constructor('Bill', 32);
// Например, вызываем свойство name.
console.log(person.name); // Bill