我有这样的打字稿文件......
var obj = {
/** Test comment */
prop1: '',
prop2: ''
};
Run Code Online (Sandbox Code Playgroud)
并且javascript编译成这个......
var obj = {
prop1: /** Test comment */
'',
prop2: ''
};
Run Code Online (Sandbox Code Playgroud)
这个问题是JSDoc在生成文档时没有看到对象的属性,因为注释位于属性之后.
我的解决方案是......
var obj;
obj = {};
/** Test comment */
obj.prop1 = '';
obj.prop2 = '';
Run Code Online (Sandbox Code Playgroud)
出于某种原因,在这种情况下我必须从初始化声明分开,否则类型的脚本上引发错误obj.propX = '';的行
属性'propX'在类型'{}'的值上不存在
我的问题:
这是一个错误.在将来的TypeScript版本中,将正确保留注释.
在此期间,对于解决方法,您有两种选择:
或
var obj: any = {}; // No type checking, anywhere, on obj
Run Code Online (Sandbox Code Playgroud)
要么
var obj: { prop1: string; prop2: string; } = {}; // More work, but type checking will happen now
Run Code Online (Sandbox Code Playgroud)
之后你可以这样做,它应该按预期工作:
/** Test comment */
obj.prop1 = '';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
297 次 |
| 最近记录: |