bas*_*ash 5 typescript visual-studio-code
是否有任何命名约定,或代码片段编辑,或任何 VS 代码扩展或任何 NPM 库来标记打字稿中的标记覆盖方法。它在进行代码审查时很有用。
就像Java中的重写语法一样
@override << ###### SOMETHING like this ######
@public String toString(){
// your overridden code.
return something;
}
Run Code Online (Sandbox Code Playgroud)
Dog*_*ita 11
正如您在此处override
看到的,该关键字是在 TypeScript 4.3 中添加的。
使用示例:
class SomeComponent {
show() {
// ...
}
hide() {
// ...
}
}
class SpecializedComponent extends SomeComponent {
override show() {
// ...
}
override hide() {
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
要使其强制执行,您可以noImplicitOverride
在 tsconfig.json 中设置 true。
截至目前,没有 override 关键字或装饰器,但您可以编写自己的装饰器:
const override = < Sup >( sup : { prototype : Sup } ) => <
Field extends keyof Sup ,
Proto extends { [ key in Field ] : Sup[ Field ] } ,
>(
proto : Proto ,
field : Field ,
descr : TypedPropertyDescriptor< Sup[ Field ] > ,
)=> {}
Run Code Online (Sandbox Code Playgroud)
并像这样使用它:
class Super {
myMethod():void {
console.log("Super")
}
}
class A extends Super {
@override(Super)
myMethod():void {
console.log("A")
}
}
Run Code Online (Sandbox Code Playgroud)
摘自github。
归档时间: |
|
查看次数: |
3383 次 |
最近记录: |