私はチェス盤のようなオブジェクトの配列を持っています。それらのそれぞれには、top
オブジェクトの隣人を返す関数があります。down
left
right
data.field(3,3).left() //returns field(2,3);
私はそれを連鎖させることができます
data.field(3,3).left().left().top().right().down().getName();
しかし、次のような負のコードを持つオブジェクトはありません
data.field(-1,0)
指定されたコードがオブジェクト配列よりも負または大きい場合は、簡単に検出できます。false または空のオブジェクトを返すことができますが、何も返されず、チェーンが続行されるとエラーが発生します
Uncaught TypeError: Object #<error> has no method 'down'
これは問題ですが、jsの実行を停止するエラーを取得せずに、返すオブジェクトがないときに、このエラーを回避し、長いチェーンを停止するにはどうすればよいですか?
まあ言ってみれば:
data.left().left()/*here there is nothing to return*/.right().right().getName(); //should return false