Fiquei surpreso ao descobrir que o código a seguir compila bem no TypeScript e apenas apresenta erros em tempo de execução:
class X {
set writeOnlyProp(value: number) {
// do some setting stuff
}
}
const x = new X()
// runtime error: Cannot read properties of undefined
console.log(x.writeOnlyProp.toString())
Eu sei que é possível em versões mais recentes do TS adicionar um getter que retorne explicitamente undefined
, mas isso parece um hack. Existe uma maneira melhor de digitar isso? Ou talvez um strict*
sinalizador TSConfig que lide com isso automaticamente?