#javascript #object-destructuring
Вопрос:
Я видел это утверждение в определении директивы Graphql:
const { resolve = defaultFieldResolver } = field;
Я знаю, что эта часть const { resolve } = field;
означает получение resolve
свойства field
объекта и сохранение его в локальной переменной resolve
. Но то, с чем я сталкиваюсь впервые, — это = defaultFieldResolver
часть. Что здесь делает знак равенства? Я провел тщательный поиск в Google, но, возможно, я не знаю правильного ключевого слова для поиска, или это, вероятно, что-то новое.
Вот ссылка на статью, где я это видел.
Премного благодарен.
Комментарии:
1. Он предоставляет значение по умолчанию, если
field
у него нетresolve
свойства.
Ответ №1:
Это означает, что если 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);