1
resposta

Porque o list() não tem o get antes?

Percebi que em outros códigos é usado o "get" antes do método que se quer retornar algum dado, mas no método lista() da classe Negociacoes do arquivo negociacoes.ts não foi usado o "get" para retornar a lista de negociações.

import { Negociacao } from "./negociacao.js";

export class Negociacoes {
    
    private negociacoes: Negociacao[] = [];

    adiciona(negociacao: Negociacao): void {

        this.negociacoes.push(negociacao);
    }
    
    lista(): readonly Negociacao[] {
        
        return this.negociacoes;
    }
}

Agradeço desde já a atenção.

Sucesso na sua jornada!

1 resposta

Olá, Diógenes! Tudo bem?

Entendo sua dúvida e é uma ótima observação. O "get" é utilizado quando queremos criar uma propriedade de acesso (accessor property) que pode ter alguma lógica de programação envolvida na hora de obter o valor. No caso do método lista(), ele está simplesmente retornando o array de negociações sem nenhuma lógica adicional, portanto, é um método normal e não um getter.

Para ilustrar, imagine que você queria criar uma propriedade "negociacoesCount" que retorna o número de negociações. Você poderia fazer algo assim:

get negociacoesCount(): number {
    return this.negociacoes.length;
}

Nesse caso, sempre que você acessar "negociacoesCount", o método get será chamado e o número atual de negociações será retornado.

Por outro lado, o método lista() é apenas um método que retorna o array de negociações. Não há nenhuma lógica adicional envolvida, portanto, ele é apenas um método normal.

lista(): readonly Negociacao[] {
    return this.negociacoes;
}

Espero que isso esclareça sua dúvida. Lembre-se que a escolha entre usar um getter ou um método normal depende do que você precisa fazer. Se você apenas precisa retornar um valor sem nenhuma lógica adicional, um método normal é suficiente. Se você precisa de alguma lógica adicional quando obtém o valor, um getter seria mais apropriado.

Espero ter ajudado e bons estudos!