Olá!
A forma como solucionei o exercício está diferente do que o instrutor realizou. Poderia, por favor, dar um feedback sobre o código e se a forma como realizei está correta?
Vi que o instrutor somente chama o método get texto() se acaso retornar como verdadeiro, dessa forma, ajuda na performance, pois, se retorna false, ele nem entra neste método. Certo?
A forma como realizei, o método get validacao(), é chamado independente se false ou true, entendo que, para a performance, poderia melhorar, realizando da forma como o instrutor fez. Porém, o meu código está seguindo a programação orientada ao objeto? Estou no caminho certo?
      class ValidaCodigo{
        constructor(dados){
          this._codigo = dados;
        }
        get validacao() {
          if( !/\D{3}-\D{2}-\d{2}/.test(this._codigo) ) throw new Error('Código inválido')
          return 'Código válido!';
        }
      }
      let validaCodigo1 = new ValidaCodigo( 'GWZ-JJ-12' );
      console.log( validaCodigo1.validacao );
      let validaCodigo2 = new ValidaCodigo( '1X1-JJ-12' );
      console.log( validaCodigo2.validacao );  Obrigada =)