Вложенный доступ к объекту в javascript

anand vishwakarma спросил: 28 марта 2018 в 04:27 в: javascript

Как прочитать свойство Hello внутри объектов настроек.

{
    Hello: {
        hello: 'hello world'
    },    responsive: [{        World: 'world',        settings: {
            read: console.log(Hello['hello']),        }
    }]
}

2 ответа

Есть решение
CertainPerformance ответил: 28 марта 2018 в 04:35

Вот один из способов сделать это: превратить read в функцию и вызвать ее с контекстом вызова, установленным для родительского объекта:

const obj = {
  Hello: {
    hello: 'hello world'
  },
  responsive: [{
    World: 'world',
    settings: {
      read: function() { console.log(this.Hello.hello); },
    }
  }]
};

obj.responsive[0].settings.read.call(obj);
Quentin ответил: 28 марта 2018 в 04:29

Вы не можете.

В объекте настроек нет свойства"Hello".

У объекта настроек есть одно свойство - read - и его значение является возвращаемым значением вызова console.log(...) (то есть undefined).