ホームページ ウェブフロントエンド jsチュートリアル 名前付きプロパティを JavaScript 配列に追加: オブジェクト リテラルとブラケット表記?

名前付きプロパティを JavaScript 配列に追加: オブジェクト リテラルとブラケット表記?

Nov 29, 2024 am 04:36 AM

Adding Named Properties to JavaScript Arrays: Object Literal vs. Bracket Notation?

配列への名前付きプロパティの追加: JavaScript の癖

JavaScript では、名前付きプロパティを追加する機能など、予期しない方法で配列を操作できます。プロパティをオブジェクトであるかのように扱うことができます。ここで疑問が生じます: 括弧を使用した名前付きプロパティを持つ配列の宣言とオブジェクト リテラルの宣言の間に、根本的な違いはありますか?

短い答えは次のとおりです: はい、違いはあります。

どちらのメソッドも表面的には同様に動作し、typeof() でチェックすると「オブジェクト」タイプを返しますが、根本的な性質が異なります。配列は数値インデックス付きデータを対象としていますが、オブジェクトは数値以外のキーを対象として設計されています。

この違いを説明するには、次の点を考慮してください。

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

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

このコードでは '0' が表示されます。一方、「2」が表示されると予想されるかもしれません。これは、配列に追加された名前付きプロパティがその長さプロパティに影響を与えないためです。代わりに、それらは配列オブジェクトの追加プロパティとして扱われます。

対照的に、名前付きプロパティで宣言されたオブジェクト リテラルは、その長さを正しく反映します。

var myObject = {'A': 'Athens', 'B': 'Berlin'};
alert(myObject.length); // This would display '2'
ログイン後にコピー

したがって、可能ではありますが、名前付きプロパティを配列に追加することは「不正行為」とみなされ、避ける必要があります。数値キー以外の場合は、代わりにオブジェクトを使用することをお勧めします。

以上が名前付きプロパティを JavaScript 配列に追加: オブジェクト リテラルとブラケット表記?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaScriptの文字列文字を交換します JavaScriptの文字列文字を交換します Mar 11, 2025 am 12:07 AM

JavaScriptの文字列文字を交換します

カスタムGoogle検索APIセットアップチュートリアル カスタムGoogle検索APIセットアップチュートリアル Mar 04, 2025 am 01:06 AM

カスタムGoogle検索APIセットアップチュートリアル

例JSONファイルの例 例JSONファイルの例 Mar 03, 2025 am 12:35 AM

例JSONファイルの例

8見事なjQueryページレイアウトプラグイン 8見事なjQueryページレイアウトプラグイン Mar 06, 2025 am 12:48 AM

8見事なjQueryページレイアウトプラグイン

10 jQuery構文蛍光物 10 jQuery構文蛍光物 Mar 02, 2025 am 12:32 AM

10 jQuery構文蛍光物

独自のAjax Webアプリケーションを構築します 独自のAjax Webアプリケーションを構築します Mar 09, 2025 am 12:11 AM

独自のAjax Webアプリケーションを構築します

' this' JavaScriptで? ' this' JavaScriptで? Mar 04, 2025 am 01:15 AM

' this' JavaScriptで?

10 JavaScript&JQuery MVCチュートリアル 10 JavaScript&JQuery MVCチュートリアル Mar 02, 2025 am 01:16 AM

10 JavaScript&JQuery MVCチュートリアル

See all articles