从version 1.12 Visual Studio Code开始,{。}}。。js文件与.ts文件相同。在大多数情况下,这真的很整洁,但我得到一个我不明白的错误:
class FreezableSet extends Set {
add (value) {
if (!Object.isFrozen(this)) super.add(value);
return this;
}
delete (value) {
if (Object.isFrozen(this)) return false;
return super.delete(value);
}
clear () {
if (Object.isFrozen(this)) return;
super.clear();
}
}
第一行中的Set
会被注释,并显示以下错误:
基础构造函数必须都具有相同的返回类型。
为了清楚起见,Set
是ES6基本集合类型。
使用带有或不带括号的/** @augments {Set<any>} */
注释或注释方法,不会改变任何内容。
有谁理解这意味着什么?对于所有列出的方法,我可以看到感染类型与它们的超级签名相同。
(method) FreezableSet.add(value: any): this
(method) FreezableSet.delete(value: any): boolean
(method) FreezableSet.clear(): void