【问题标题】:How to have nested object inside namespace variable?如何在命名空间变量中嵌套对象?
【发布时间】:2017-08-08 16:02:39
【问题描述】:

我正在使用命名空间进行编程,到目前为止,我只在其中使用了变量和函数。我试图在其中做一个嵌套对象,但它似乎不像我期望的那样工作。这是代码

const myNameSpace = {

    someVar: '',
    otherVar: '',

    someFunc() {
        // code here
    },

    nestedObject: {
        param1: '',
        param2: '',
        param3: ''
    }
};

其他变量工作正常,但是当我尝试访问param1时,像这样

myNameSpace.nestedObject.param1

它返回未定义的,而不是像我声明的那样的空字符串。同样只访问myNameSpace.nestedObject 会返回一个空字符串...

这有什么问题,甚至可能是我想要的吗?

【问题讨论】:

  • 它工作正常,你确定,你使用的是 ES6 系统吗?
  • @NinaScholz 是的,我正在使用所有其他 ES6 东西没有问题
  • 是整个对象不起作用吗?您是否尝试过使用较小的对象并对其进行测试?
  • @NinaScholz 问题是我在访问它之前将nestedObject 整个值重置为一个空字符串,这就是它不起作用的原因。但我仍然不得不问这是否是正确的做法,因为我之前从未在命名空间变量中声明嵌套对象

标签: javascript ecmascript-6 javascript-objects javascript-namespaces


【解决方案1】:

它按预期工作, 运行以下代码 sn -p。

const myNameSpace = {

    someVar: '',
    otherVar: '',

    someFunc() {
        // code here
    },

    nestedObject: {
        param1: 'param 1 value',
        param2: 'param 2 value',
        param3: 'param 3 value'
    }
};

console.log(myNameSpace.nestedObject.param1);

【讨论】:

  • 这有什么帮助? op 发布了一个没有错误的有效代码。
猜你喜欢
  • 2018-02-03
  • 2020-07-10
  • 1970-01-01
  • 1970-01-01
  • 2013-09-03
  • 1970-01-01
  • 1970-01-01
  • 2011-01-02
  • 2011-01-06
相关资源
最近更新 更多