只能在构造函数中分配只读属性,但是不鼓励使用angular属性,有时甚至无法使用构造函数进行某些初始化,而是使用了角度挂钩ngOnInit。有什么办法可以将ngOnInit标记为关于readonly属性的构造函数,以便我可以对本质上不可变的属性(仅在ngOnInit中分配一次)使用readonly吗?
编辑:澄清:我不寻找替代方法来声明只读属性。我想以常规方式声明它们。我认为仅仅为了进行静态检查就不值得在可读性上进行权衡。我希望会有一些注释,例如tslint可以忽略ngOnInit内部的不变性。
从目前为止的答案中,我想将它们分配为(this as any).foo = bar;与我想做的最接近的答案,尽管我认为它比仅保留只读项还要难看。