这是Graphql入门第一步的简单赋值语句,我不是很懂
var { graphql, buildSchema } = require('graphql');
我试过运行
var { graphql, buildSchema } = require('graphql');
console.log(buildSchema+"variable ends");return;
和
var { graphql, buildSchema } = require('graphql');
console.log(graphql+"variable ends");return;
第一个打印一个小函数,第二个打印一个大函数。我也试过了
var { graphql, buildSchema } = require('graphql');
var obj = require('graphql');
console.log(obj+"variable ends");return;
我搜索了这个对象是否包含一个与对象属性(graphql、buildSchema)同名的函数。
我不明白。那么它到底是什么意思呢?
最佳答案
这只是解构,其工作方式与解构标准对象时相同。分解:
require('graphql');
返回一个具有各种属性的对象,例如
{
graphql: function(a, b) { ...
buildSchema: function(schemaInfo, anotherArgument) { ...
someOtherProperty: etc
}
解构是从对象中提取特定属性并在同一语句中将它们声明为变量的简写版本。所以:
var { graphql, buildSchema } = require('graphql');
相当于:
var graphqlImport = require('graphql');
var graphql = graphqlImport.graphql;
var buildSchema = graphqlImport.buildSchema;
关于javascript - 将只有键的对象分配给 require 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49473448/