1
resposta

Parâmetro opcional ou com valor default?

Qual a diferença de usar parâmetro opcional do método ou com valor default?

Me parece que o parâmetro opcional, no exemplo dado na aula, é mais verboso:

private escapar = false;

constructor(seletor: string, escapar?: boolean) {
     ...
     if (escapar) {
         this.escapar = escapar;
    }
}

Já se fosse utilizado um parâmetro com valor padrão, essa verbosidade sumiria. E ainda de quebra não é necessário inicializar a variável escapar na sua declração:

private escapar = boolean;

constructor(seletor: string, escapar: boolean = false) {
   ...
   this.escapar = escapar;      
}

Não seria melhor dessa forma?

1 resposta

Fala Ismael, tudo bem?

Isso depende de cada caso, nem sempre queremos atribuir um valor padrão para um valor opcional, então nesse caso podemos utilizar simplesmente o ?, mas caso queiramos que esse valor tenha um valor padrão você pode fazer dessa forma atribuindo direto no recebimento do parâmetro, ambas as formas estão corretas, o uso vai de caso e preferência!

Espero ter ajudado, bons estudos :D