Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript-将注释保存在对象中时,代码以一种奇怪的方式编译_Typescript - Fatal编程技术网

Typescript-将注释保存在对象中时,代码以一种奇怪的方式编译

Typescript-将注释保存在对象中时,代码以一种奇怪的方式编译,typescript,Typescript,我有一个像这样的打字脚本文件 var obj = { /** Test comment */ prop1: '', prop2: '' }; javascript编译如下所示 var obj = { prop1: /** Test comment */ '', prop2: '' }; 问题是JSDoc在生成文档时看不到对象的属性,因为注释位于属性之后 我的解决办法是 var obj; obj = {}; /** Te

我有一个像这样的打字脚本文件

var obj = {
    /** Test comment */
    prop1: '',
    prop2: ''
};
javascript编译如下所示

var obj = {
    prop1: /** Test comment */
    '',
    prop2: ''
};
问题是JSDoc在生成文档时看不到对象的属性,因为注释位于属性之后

我的解决办法是

    var obj;
    obj = {};

    /** Test comment */
    obj.prop1 = '';

    obj.prop2 = '';
由于某种原因,在这个场景中,我必须将声明与初始化分开,否则类型脚本会在
obj.propX=''上抛出一个错误行数

类型为“{}”的值上不存在属性“propX”

我的问题是:

  • 还有其他人在对象中的注释放置方面遇到过这个问题吗
  • 如果是这样的话,如果与我自己的解决方案不同,你是如何解决的
  • 如果没有,我可以做些什么来阻止错误的发生,这样我就可以将变量声明和初始化结合起来

  • 这是一个错误。在TypeScript的未来版本中,注释将被正确保留

    同时,对于解决方案,您有两种选择:

    或者

    var obj: any = {}; // No type checking, anywhere, on obj
    

    在此之后,您可以执行此操作,并应按预期工作:

    /** Test comment */
    obj.prop1 = '';
    
    /** Test comment */
    obj.prop1 = '';