Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.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
Javascript 动态附加属性(VSCode)的JSDoc_Javascript_Visual Studio Code_Jsdoc - Fatal编程技术网

Javascript 动态附加属性(VSCode)的JSDoc

Javascript 动态附加属性(VSCode)的JSDoc,javascript,visual-studio-code,jsdoc,Javascript,Visual Studio Code,Jsdoc,我有一个基于参数添加动态属性的类的构造函数: class Foo { constructor(attach) { for (const key in attach) { this[key] = attach[key]; } } } class Bar { getBar() { return "bar"; } } const foo = new Foo({ bar: new Bar() }) conso

我有一个基于参数添加动态属性的类的构造函数:

class Foo {
    constructor(attach) {
        for (const key in attach) {
            this[key] = attach[key];
        }
    }
}

class Bar {
    getBar() { return "bar"; }
}


const foo = new Foo({
    bar: new Bar()
})

console.log(foo.bar.getBar());
这些属性只是注入的属性的简写

我想以某种方式记录Foo,以便调用站点能够获得良好的自动完成

我尝试了下面代码的一些变体,但VSCode仍然无法在Foo实例中找到t的属性:

/**
 * Foogler
 * @template {{[key:string]: Bar}} T
 * @type {Foo & T}
 */
class Foo {
    /**
     * Creates a new Foo
     * @param {T} attach
     */
    constructor(attach) {