Определите getter для объекта, чтобы все неопределенные поиски свойств возвращали «»
В основном мне нужно быть в состоянии сделать это:
var obj = {"foo":"bar"},
arr = [];
with( obj ){
arr.push( foo );
arr.push( notDefinedOnObj ); // fails with 'ReferenceError: notDefinedOnObj is not defined'
}
console.log(arr); // ["bar", ""] <- this is what it should be.
Я ищу "глобальный" эквивалент{}.__defineGetter__
или же{получить} для того, чтобы вернуть пустую строку для всех неопределенных получателей свойства (обратите внимание, что это отличается от свойства, которое являетсяundefined
).