Глубокая проверка Javascript, если undefined без TypeError

Устал писать что-то вроде

if (
  typeof Foo != 'undefined' &&
  typeof Foo.bar != 'undefined' &&
  typeof Foo.bar.baz != 'undefined' &&
  Foo.bar.baz == 'qux'
) {...}

В PHP немного лучше:

if (!empty($foo['bar']['baz']) && $foo['bar']['baz'] == 'qux') {...}

В идеале было бы:

function u(value) {
    return (typeof value != 'undefined') ? value:null;
}
if (u(Foo.bar.baz) == 'qux') {...}

Но браузер показывает "TypeError", когда я попробуй сделать это. Есть ли способ сделать функцию «u»?

10
задан luchaninov 11 August 2011 в 11:05
поделиться