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.