1
resposta

Duvida na posição do CONSTRUCTOR

Prezados, estou com uma duvida em relação a posição do CONSTRUCTOR () {}. Pois no curso de JS Conhecendo o Brownser... o professor Flavio Henrique, aborda o uso do constructor de forma diferente. ex :

class Negociacao {

    constructor (data, quantidade, valor) {

        this._data = new Date (data.getTime());
        this._quantidade = quantidade;
        this._valor = valor;

        /* Freezing the object, so that it cannot be modified. */
        Object.freeze(this)
    }

    get obtemVolume () {
        return this._quantidade * this._valor
    }

    get data () {
        return this._data;
    }
    get quantidade () {
        return this._quantidade;    
    }
    get valor () {
        return this._valor;
    }
}

Pode perceber que primeiro passamos o contructor e depois vem o GET. Agora neste curso o professor Ricardo aborda dessa maneira :

export class Cliente {
    nome;
    _cpf;

    get cpf() {
        this._cpf;
    }

    constructor(nome, cpf) {
        this.nome =  nome;
        this._cpf = cpf; 
    }

}

Qual a forma mais adequada ? Vi que tem uma pergunta semelhante a minha mas não me esclareceu a minha duvida.

1 resposta

Eu acho, e isso é puro achismo mesmo, que o constructor deve vir no topo da classe, mas independente de sua posição ele vai funcionar normalmente, seja no fim da classe ou no meio dela. Acho que é mais uma questão de legibilidade de código.