let /** @type {Object<string|boolean>} */ settings = {};
let str = 'string';
let bool = true;
settings.b = bool;
settings.s = str;
// Note that at this point, b and s are of the type {string|boolean}.
let {/** @type {string} */ s,/** @type {boolean} */ b } = settings;
console.log({b, s});
// But now, when we assign the wrong types, we get a warning.
b='warn';
s=false;
警告数量:2
JSC_TYPE_MISMATCH: assignment
found : string
required: boolean at line 15 character 4
b='warn';
^
JSC_TYPE_MISMATCH: assignment
found : boolean
required: string at line 16 character 4
s=false;
^
4条答案
按热度按时间wtlkbnrh1#
@Tommy-Pepsi Gaudreau在对原问题的评论中如此接近。
下面是闭包编译器工具中的一个示例@closure-compiler.appspot.com
警告数量:2
wd2eg0qa2#
如果要记录对象,简单的答案是:
有关详细信息,请查看JSDoc documentation。
7xzttuei3#
对于任何直接结构化变量,您可以尝试此解决方法
nqwrtyyt4#
只需将JSDoc块 * 内嵌 * 在解构块中:
VS代码的截屏视频:
使用
yarn jsdoc file1.js
生成的文档