Problemas de propriedades indefinidas de Javascript

Se você deseja criar um objeto filho em um objeto javascript indefinido, pode usar a função $ parse do angularJS.

Por exemplo:

Digamos que eu tenha um carro objeto:

var car = {};

Agora, quero dar isso diretamente ao meu objeto: car.engine.piston

Javascript me dirá que não consigo ler o pistão de um objeto indefinido porque o motor não está definido neste ponto, mas se eu usar a função $ parse, posso fazer isso:

var getter = $ parse (‘car.engine.piston’);
var setter = getter.assign;

setter (este, ‘valor’);

E meu car.engine.piston agora existirá!