I read a few books about JavaScript, and it is a very powerful language for building web applications using OOP, but now I have a problem that I don't know if it can be solved:

```
var myObj = {};
myObj.properties = {};
myObj.properties.myProperty = 'foo';

```

Let me explain, now I have `myObj` .. setted the `properties` object inside... now, if I ask 
for `myObj.properties.myProperty` I will get `foo`. But what if I ask for `myObj.properties.notSettedValue` ? (that is `undefined`)

I read about `Object.defineProperty` on MDN that can set a setter and a getter on a property. 

I tried to set the `"get"` value on `myObj.properties`

```
Object.defineProperty(myObj, 'properties', { 
    get : function(){ 
        console.log("called custom get property.", this, arguments); 
    } 
});

```

... but nothing to do, the `get` function declared for `myObj.properties` work only for itself. The custom function is called only when I request `myObj.properties`. Not for its children.

There's a solution to pass the requested `myObj.properties.notSettedValue` to a `get` function of `myObj.properties`?

(without using a function or a method like `myObj.properties.getItem('notSettedValue')`)