深い階層のオブジェクトが存在するかどうかチェックする。
色々、やり方はあるが、最終的には以下で落ち着いた。
function isset (fn) { var value; try { value = fn(); } catch (e) { value = undefined; } finally { return value !== undefined; } }; console.log( isset(() => a.b.c), isset(() => a.b.c.d.e.f) );
↑これはかなり優秀でa.b.c.d.reduce( (x,y) => x+y)).map( x => x*x )みたいに
メソッドチェーンでreduce mapした引数を渡してもちゃんとチェックしてくれる!!