0

node.js で、次のようなオブジェクトがあるとします。

var users = {
  '1': { name: 'john' },
  '2': { name: 'jack' },
  '3': { name: 'hal' },
};

にアクセスしようとするusers['4'].nameと、明らかに500 TypeError: Cannot read property 'name' of undefined.

わかりますが、無音にするのはどうですか?node.js 開発者がそのような機能を実装するのは難しすぎましたか? それとも、「セキュリティ」などの問題がいくつかありますか?

とにかく、エラーを黙らせる簡単な方法はありますか?

前もって感謝します。

4

1 に答える 1

1

コードを修正する必要があります。書く代わりに、次のusers['4'].nameように書きます。

if ('4' in users)
    { users['4'].name; }

コードに影響を与えるコード内のすべての条件をチェックする必要があります。Node.jsランタイムは、あなたが間違いを犯したのか、それとも単にいくつかのステートメントを実際に実行することを気にしなかったのかを知ることができません。

于 2013-02-28T17:01:16.567 に答える