首页 > 解决方案 > 对象解构花括号内的等号

问题描述

我在 Graphql 指令定义中看到了这条语句:

const { resolve = defaultFieldResolver } = field;

我知道这部分const { resolve } = field;意味着获取对象resolve的属性field并将其存储在局部变量resolve中。但我第一次遇到的是这个= defaultFieldResolver部分。等号在这里做什么?我已经完成了彻底的谷歌搜索,但也许我不知道要搜索的正确关键字,或者这可能是新事物。

这是我看到这个的文章的链接。

谢谢一堆。

标签: javascriptobject-destructuring

解决方案


这意味着如果field包含一个resolve属性,请提取它:

const defaultFieldResolver = 'defaultFieldResolver';

const field = { resolve: 'resolve' };

const { resolve = defaultFieldResolver } = field;

console.log(resolve);

如果field不包含resolve属性,则改为分配defaultFieldResolverresolve变量。

const defaultFieldResolver = 'defaultFieldResolver';

const field = {};

const { resolve = defaultFieldResolver } = field;

console.log(resolve);


推荐阅读