Static & Private Class Fields
What does this private implementation enforce?
class Form {
#fields = new Map();
#validators = new Map();
addField(name, validator) {
this.#fields.set(name, null);
if (validator) {
this.#validators.set(name, validator);
}
}
setValue(name, value) {
if (!this.#fields.has(name)) {
throw new Error(`Field ${name} does not exist`);
}
const validator = this.#validators.get(name);
if (validator && !validator(value)) {
throw new Error(`Invalid value for ${name}`);
}
this.#fields.set(name, value);
}
}