javascript - 对象解构花括号内的等号
问题描述
我在 Graphql 指令定义中看到了这条语句:
const { resolve = defaultFieldResolver } = field;
我知道这部分const { resolve } = field;
意味着获取对象resolve
的属性field
并将其存储在局部变量resolve
中。但我第一次遇到的是这个= defaultFieldResolver
部分。等号在这里做什么?我已经完成了彻底的谷歌搜索,但也许我不知道要搜索的正确关键字,或者这可能是新事物。
这是我看到这个的文章的链接。
谢谢一堆。
解决方案
这意味着如果field
包含一个resolve
属性,请提取它:
const defaultFieldResolver = 'defaultFieldResolver';
const field = { resolve: 'resolve' };
const { resolve = defaultFieldResolver } = field;
console.log(resolve);
如果field
不包含resolve
属性,则改为分配defaultFieldResolver
给resolve
变量。
const defaultFieldResolver = 'defaultFieldResolver';
const field = {};
const { resolve = defaultFieldResolver } = field;
console.log(resolve);
推荐阅读
- javascript - 网页抓取交互式图表
- javascript - jQuery:从输入数组中获取所有值并将它们计算为变量
- swift - 使用覆盖将 SwipeCellKit 连接到自定义单元格 - Swift
- python - Python CV2 颜色检测混淆
- algorithm - UTXO选择策略
- reactjs - 使用从父组件中进行的异步 api 调用接收的道具更新反应子组件的状态
- php - 未排序的数组 - 从下一个更高的值获取索引 | 复杂度 O(n), PHP
- javascript - 如何只允许粘贴输入中的 URL?
- python - 如何在 python 中正确重塑 ConvLSTM 的数据?
- javascript - onDeviceChange() 仅在 macOS Chrome 中正常工作