我正在分析一些TypeScript代码,并且在类定义中遇到了这样的声明:
construcotrParam
但进一步,我看到construcotrParam
正常使用。
是否可能export abstract class ... extends ... implements ...
属性是“默认创建和分配的”属性?
它也包装在extends
中(而implement
和export
是可以理解的继承关键字,readonly
用于处理模块,但可能与讨论有关)
更新
根据this post,它看起来确实像这样工作-默认情况下,为标记为<nav class="navbar navbar-dark bg-dark text-white">
<div class="row w-100 d-flex align-items-center">
<div class="col-2 text-left">
<button class="navbar-toggler" type="button" id="menu-toggle">
<span class="navbar-toggler-icon"></span>
</button>
</div>
<div class="col-8 text-center">
main title
</div>
<div class="col-2 text-right">
right
</div>
</div>
</nav>
的构造函数创建属性并为其赋值。
答案 0 :(得分:1)
根据this article,存在将所有类属性声明为构造函数参数的简写形式,例如:
constructor ( public someProp : number )
在这种情况下,将创建someProp
。显然,这是完全限定的声明,即我们具有类型声明(在这种情况下为number
)和访问修饰符等,因此,代替public
的可能是private readonly
。
答案 1 :(得分:0)
您可以执行以下操作:
constructor(readonly construcotrParam : Type = "Normal") {
// here we don't assign construcotrParam to anything
}