У меня есть класс с конструктором и парой свойств.
const _id = new WeakMap();
class Product {
constructor(Id) {
_id.set(this, Id); // set
}
get Id(){
return _id.get(this);
}
set Id(value){
if(value <= 0) throw new Error("Invalid Id");
_id.set(this, value);
}
show() {
alert(`Id : ${_id.get(this)}`); // get
}
}
const p = new Product(-3);
// p.Id = -5; // set
window.alert(p.Id); // get (-3) problem ???
// p.show();
Замечено, когда я устанавливаю Id при создании объекта, сеттер не используется.
Как можноЯ делаю набор идентификаторов в конструкторе использовать сеттер?