class Codigo {
#texto
constructor(texto) {
if (!this.#valida(texto)) throw new Error(`O texto ${texto} não é um código válido`);
this.#texto = texto;
}
#valida(texto) {
return /\D{3}-\D{2}-\d{2}/.test(texto);
}
get texto() {
return this.#texto;
}
}
let codigo1 = new Codigo('GWZ-JJ-12'); // válido
console.log(codigo1.texto);
// let codigo2 = new Codigo('1X1-JJ-12'); // inválido
// console.log(codigo2.texto);
vi alguns artigos sobre o uso do # na privatização de atributos e métodos, quero saber se usei da forma correta