在线课程中我发现了这种语法:
const graphql = require('graphql');
const{
GraphQLObjectType
} = graphql;
...
我的问题是:这意味着代码的第二部分是什么?就像从graphql库导入一些属性名称? 我检查了const定义,其他一些论坛,但我找不到任何东西。
由于
答案 0 :(得分:2)
这是' destructuring assignment'的示例,它允许您轻松地将对象或数组的部分提取到变量中。
const { GraphQLObjectType } = graphql;
// is the same as
const GraphQLObjectType = graphql.GraphQLObjectType;
let obj = { a: 0, b: 1 };
let { a, b } = obj;
// is the same as
let obj = { a: 0, b: 1 };
let a = obj.a;
let b = obj.b;
var arr = [0, 1, 2];
var [ a, b ] = arr;
// is the same as
var arr = [0, 1, 2];
var a = arr[0];
arv b = arr[1];