首页 > 解决方案 > 验证对象解构

问题描述

假设我们有两个函数

/**
 * @typedef MyResponse
 * @property {Number} id - my awesome id
 * @property {Array<Number>} attributes - list of ids
 * */

/**
 * @return {Promise<MyResponse>}
 * */
function request0() {
  return Promise.resolve({id: 1, attributes: [1,2,3]});
}

(async function () {
  const { foo } = await request0(); // but it doesn't return foo, it returns id and attributes
  console.log(foo);
})();

是否可以以某种方式突出显示这种错误?我试图在 eslint 上找到一些东西,但没有运气。

谢谢

标签: javascripteslintjsdocecmascript-2020

解决方案


您可以简单地添加// @ts-check文件开头而不使用 eslint。
然后,你可以看到你foo有红线。
但是,您需要以这种方式将其添加到每个文件中。使用 vscode进行类型检查 JavaScript
中的 更多详细信息。

在此处输入图像描述


推荐阅读