Javascript const关键字使用不同

时间:2017-05-03 12:27:48

标签: javascript ecmascript-6 graphql

在线课程中我发现了这种语法:

const graphql = require('graphql');
const{
     GraphQLObjectType
} = graphql;
...

我的问题是:这意味着代码的第二部分是什么?就像从graphql库导入一些属性名称? 我检查了const定义,其他一些论坛,但我找不到任何东西。

由于

1 个答案:

答案 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];