2017-05-03 118 views
0

我發現這句法:的Javascript const關鍵字在線課程中使用不同的

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

我的問題是:什麼是這意味着代碼的第二部分?就像從graphql庫導入一些屬性名稱? 我檢查了const定義,其他一些論壇,但我沒有找到任何東西。

由於

+0

[解構分配](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment)。等同於'const = graphql.GraphQLObjectType;' – dfsq

回答

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]; 
相關問題