![]() |
1
17
这就是为什么在某些语言(咳嗽C#)中,代码分析工具会标记构造函数中虚拟成员的使用。 在Typescript中,在调用基本构造函数之后,在构造函数中进行字段初始化。字段初始化是在字段附近编写的,这只是语法上的简化。如果我们看一下生成的代码,问题就很明显了:
您应该考虑这样一种解决方案,即从实例外部而不是在构造函数中调用init:
或者,可以为构造函数提供一个额外的参数,指定是否调用
或者非常肮脏的解决方案
|
![]() |
2
5
因为
有几种替代方法。
|
![]() |
3
3
一种方法是使用getter/setter 我的会员 并管理getter中的默认值。这将防止未定义的问题,并允许您保持几乎完全相同的结构。这样地:
|
![]() |
4
2
试试这个:
|
![]() |
5
2
超级必须是第一命令。请记住,typescript更多的是“带有类型文档的javascript”,而不是单独的语言。 如果您查看transpiled code.js,它是清晰可见的:
|
![]() |
6
2
你必须在A类中调用init吗? 很好,但我不知道你是否有不同的要求:
|
![]() |
7
0
这样地:
|
![]() |
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 4 月前 |
![]() |
Alex · 在轻量级中同时解构和不解构变量 4 月前 |
![]() |
Ângelo Rigo · ReactJS映射:如何迭代[关闭] 4 月前 |
![]() |
bairog · 从按属性筛选的对象数组字典中创建值数组 4 月前 |
![]() |
lokiuucx · JS对象属性返回未定义,尽管对象属性应该有值 5 月前 |