хорошо, насколько мне известно, мы бы написали конструктор класса, например,
class User {
constructor(name, age) {
this.name = name;
this.age = age;
}
//anything outside of constructor belong to this.prototype
getName() {
console.log(this.name);
}
getAge() {
console.log(this.age);
}
}
, поэтому вместо этого я напишу что-то вроде этого:
class User {
constructor(name, age) {
this.name = name;
this.age = age;
}
getName() {
console.log(this.name);
}
}
User.prototype.getAge = function () {
console.log(this.age);
};
Технически это должно быть точно так же правильно? Или я не прав? потому что, когда я попробовал это, каждый из которых, я получаю 2 разных результата:
let user = new User('john', 23);
let properties = [];
for (let prop in user) {
properties.push(prop);
}
console.log(properties); //The first code result : ["name", "age"]
//The second code result : ["name", "age", "getAge"]
Так в чем же разница между ними?