問題は、何かが「設定されている」かどうかを検出するために作成できる「標準関数」がないことです。たとえば、それが本当に null オブジェクトである場合は、それを操作したくありません。ただし、キーがある場合は、それを操作したいのですが、「Object.keys()」を使用して、「typeof」が「オブジェクト」を返しても、キーがないときにキーがあるかどうかを確認しようとすると、オブジェクトではないことを示すエラーをスローします。それで、ここでキャッチ22があるようです(o_O)...オブジェクトが本当にnullかどうか、またはキーがあるかどうかをエラーをスローせずに確認するより良い方法はありますか?
私は基本的な関数を使用して、オブジェクトが有効な値を持つかどうかを確認する前にSETであるかどうかを確認しましたが、これが失敗するシナリオに遭遇しています。indexeddb シナリオと「this.items」シナリオでは、「型」が「オブジェクト」であり、「オブジェクト」がキーを持っていても、どちらも「null」と評価されます。しかし、キーがないときにキーを評価すると、別のエラーがスローされます。これは、この時点でオブジェクト TRULY が null (キー/プロパティなし) であるためです。「Object.keys」や「hasOwnProperty」などの「オブジェクト」関数を使用すると、「これはオブジェクトではありません」というエラーがスローされます。
基本的に、私がしなければならないことは、「このオブジェクトは何かに設定されているのか、それとも本当に空のオブジェクトなのか」を適切に判断できるようにすることです。この場合、これは「それぞれの値が 'null' であっても、プロパティはありますか?」という意味です。- 「try catch」ブロックを使用せず、オブジェクト関数を使用せずに、プロパティがあることを知る必要があります (オブジェクトが本当に null の場合に失敗するため)。