unknown をプロパティ キーとして使用すると、結果が unfine になることが保証されますか?
P粉504920992
P粉504920992 2024-01-16 23:42:26
0
1
514

変数を介してオブジェクトのプロパティを取得する場合:

リーリー

someField (文字列) が 未定義 (初期化されていない文字列値の結果である可能性があります) である可能性があります。私の実験によると、考えられるすべてのタイプのオブジェクトについて、結果は 未定義、つまり次のようになります。 リーリー

これはよく知られている動作ですが、信頼できますか?関連するドキュメントに何かが見つからないようです。代わりに、上記を

に書き換えることです。 リーリー

しかし、プロパティ

unknown にアクセスしようとするたびに unknown が返されることが保証されているなら、私は簡潔な方法を本当に好みます。

P粉504920992
P粉504920992

全員に返信(1)
P粉340980243

いいえ、obj[未定義] にアクセスしても、必ずしも unknown が返されるわけではありません。プロパティ名として使用される他の値と同様に、unknown は (シンボルでない限り) 文字列にキャストされるため、実際には「unknown」という名前のプロパティにアクセスします。 obj[未定義] は、obj["未定義"] または obj.unknown と同等です。そのようなプロパティが存在する場合、たとえば obj = {unknown: true};.

の場合、プロパティ値が返されます。

本当に書くべきです

リーリー

If someField: 未定義 |String

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート