Javascript 是否可以在对象架构中包含不同的键?

Javascript 是否可以在对象架构中包含不同的键?,javascript,graphql,apollo,graphql-js,Javascript,Graphql,Apollo,Graphql Js,我有类型,例如“animal”,这个对象的键可以是任意的,但值总是按类型字符串,例如在一个响应上,我可以得到: type Animal { breed: String eyes: String } 关于其他答复: type Animal { something: String somethingElse: String someOtherField: String } 有可能以某种方式描述这个物体吗 型动物{ //我如何描述这个物体? } 一般类型{ 名称:S

我有类型,例如“animal”,这个对象的键可以是任意的,但值总是按类型字符串,例如在一个响应上,我可以得到:

   type Animal {
    breed: String
    eyes: String
    }
关于其他答复:

type Animal {
something: String
somethingElse: String
someOtherField: String
}
有可能以某种方式描述这个物体吗

型动物{
//我如何描述这个物体?
}
一般类型{
名称:String
例子:动物

}
我不熟悉“graphql js”,因此不确定这是否有帮助,但可以按如下方式枚举普通java对象:

var animal = {
    something: "one",
    somethingelse: "two",
    somethingother: "three"
}

for (var propName in animal)
{
    console.log(propName, animal[propName]);
}
输出:

"something", "one"
"somethingelse", "two"
"somethingother", "three"

这两种反应描述了两种不同的类型——它们不可能都是动物类型。这就是为什么您很难将它们“描述”为单个集合属性集的原因。重点是“动物”对象可以有任何键对,我明白,但让动物“类型”具有随机键(如“轮子”、“控件”、“型号”、“传动比”)毫无意义,Typescript中的类型描述了一组一致的属性,这些属性用于静态检查设计为采用类型“形状”的变量。如果没有“一致性”部分(你用你的想法破坏了它),那么整个“类型检查”的想法就被抛到了窗外。但是,祝你好运。不幸的是,这不是我的情况