javascript - 验证对象解构
问题描述
假设我们有两个函数
/**
* @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 上找到一些东西,但没有运气。
谢谢
解决方案
您可以简单地添加// @ts-check
文件开头而不使用 eslint。
然后,你可以看到你foo
有红线。
但是,您需要以这种方式将其添加到每个文件中。使用 vscode进行类型检查 JavaScript
中的
更多详细信息。
推荐阅读
- python - 使用带有 sympy 的野生参数的表达式的模式匹配
- tcp - 使用 Octave 通过以太网从 Raspberry Pi 3 获取数据
- ios - 自定义每个 XLPagerTabStrip ButtonBarPagerTabStripViewController 页面的 NavigationBar
- c# - C# Entityframework 如何将 where 子句添加到包含子集合
- maven - 如何使用 Gatling Maven 插件运行单个测试/模拟?
- mongodb - 我们可以在mongodb中进行并发读写操作吗?
- javascript - nodejs异步等待流程无法正常工作
- python - 导入 python 库时出现 AWS Glue No Module Named pg8000 错误
- arrays - 如何检查一个数组是否包含另一个数组(ANGULAR)?
- windows - 如何右键单击任何窗口上的还原按钮