私は JavaScript で OOP の基本を学んでいますが、この例にはいくつかの問題があります。
var Human = function (first, surname) {
var x = {};
Object.defineProperties(x, {
first: {
get: function () {
return this.first;
},
set: function (value) {
this.first = value;
}
},
surname: {
get: function () {
return this.surname;
},
set: function (value) {
this.surname = value;
}
}
});
return x;
};
var alex = new Human("Alex", "Corlette");
これ:
console.log(alex);
出力:{ }
そしてこれ:
console.log(alex.first);
出力:キャッチされない RangeError: 最大呼び出しスタック サイズを超えました
誰が私が間違っているのか分かりますか?