ホームページ > ウェブフロントエンド > jsチュートリアル > プロパティの割り当ては JavaScript の配列長にどのように影響しますか?

プロパティの割り当ては JavaScript の配列長にどのように影響しますか?

Mary-Kate Olsen
リリース: 2024-12-02 03:40:13
オリジナル
861 人が閲覧しました

How Do Property Assignments Affect JavaScript Array Length?

配列の異常: プロパティと要素

JavaScript では、オブジェクトの多用途性が配列にも拡張されます。この奇妙な現象は、配列がオブジェクトのプロトタイプを継承するという事実から発生します。その結果、配列はオブジェクトであるかのように操作できます。

配列のプロパティの割り当て

次のコード スニペットを考えてみましょう:

var myArray = Array();
myArray['A'] = "Athens";
myArray['B'] = "Berlin";
ログイン後にコピー

var myObject = {'A': 'Athens', 'B':'Berlin'};
ログイン後にコピー

これらのコード スニペットは両方とも同等であるように見えます。名前付きプロパティを持つオブジェクトを作成します。ただし、それらの間には根本的な違いがあります。

プロパティ乱用の落とし穴

配列はオブジェクトとして扱うことができますが、配列は主にオブジェクトとして扱われることに注意することが重要です。数値的にインデックス付けされたデータの場合。数値以外のキーを配列に割り当てると、予期しない動作が発生する可能性があります。

たとえば、次のことを考慮してください。

var myArray = Array();
myArray['A'] = "Athens";
myArray['B'] = "Berlin";

alert(myArray.length);
ログイン後にコピー

「2」(予想される要素数) を表示する代わりに、アラートには「0」が表示されます。これは、数値以外のキー ('A' および 'B') が、数値インデックスが付けられた要素の数を追跡する配列の長さプロパティをインクリメントしないためです。

結論として、追加すると便利に思えるかもしれませんが、名前付きプロパティを配列に使用する場合、配列の目的を損ない、予期しない動作を引き起こす可能性があるため、この方法は避けてください。数値キー以外の場合は、代わりに純粋なオブジェクトを使用することをお勧めします。

以上がプロパティの割り当ては JavaScript の配列長にどのように影響しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート