Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida sobre parâmetros opcionais.

Olá.

Primeiramente, informo que há um possível erro na transcrição da aula 03 - Parâmetros opcionais, no segundo módulo do segundo curso de TypeScript. O último trecho de código informado, que apresenta o uso do operador opcional "?", declara a variável da classe View como _escape, enquanto no construtor ela é passada como escapar.

E agora, a dúvida: o compilador validou meu código somente quando informei o operador "?" na declaração da variável _escapar, não bastando informá-lo somente no construtor, como fora apresentado na aula.

...
export abstract class View<T>
 {
    protected _elemento: JQuery;
    // private _escapar: boolean; ---------- NÃO COMPILA!
    private _escapar?: boolean;

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

Saberiam informar o que resultou nesta divergência?

Grato.

1 resposta
solução!

Fala ai Alexandre, tudo bem? Vamos lá:

Primeiramente, informo que há um possível erro na transcrição da aula 03 - Parâmetros opcionais

Posso te pedir um favor? Sugira uma melhora na transcrição da mesma e aponte esse problema, ai a gente dá uma olhada por aqui e em caso de aprovação a melhoria é aplicada para todos na plataforma.

E agora, a dúvida: o compilador validou meu código somente quando informei o operador "?" na declaração da variável _escapar, não bastando informá-lo somente no construtor, como fora apresentado na aula.

Sim, isso é necessário pois a propriedade da classe está marcada como obrigatória, porém, o parâmetro no construtor que alimenta ela está como opcional, então existe a possibilidade da propriedade também ser opcional.

Espero ter ajudado.