性質とは?/ ノーローン
[ 881] JavaScriptにおけるオブジェクトの基本的性質:CodeZine
[引用サイト] http://codezine.jp/a/article.aspx?aid=220
|
IDカード美容皮膚科なら有楽町美容外科サーバーは日本ユニシスES7000転職はDODAショコラならアニヴェルセルで中古車ならオークネット自動車保険の三井ダイレクト美容整形はアクティブビューティクレジットカードは三井住友VISAセキュリティ対策は日本ユニシス プログラミングの基本的な知識、ならびにオブジェクトやメソッドと言った基礎的な概念については、ここでは解説しません。最低限、オブジェクト指向プログラミングについて理解をしている人を対象としています。 つまり、オブジェクトに対し代入を行っていくことで、そのオブジェクトのメンバを追加していくことができるわけです。 以上のように、JavaScriptではプログラム中でオブジェクトのメンバをコントロールすることができます。プログラムのある時点では、二つしかメンバを持たないオブジェクトが、別のある時点では三つのメンバを持つことができる。このように動的にメンバを定義できることが、JavaやC++などと最も異なり、かつJavaScriptにおいて最も基本的なオブジェクトの性質になるわけです。 後者の括弧記法は、識別子をプログラム上の文字列で扱うための記述法です。識別子の内容を表す文字列を示せばよいので、文字列リテラルに限らず、変数やメソッドの戻り値などでも構いません。従って、以下のようなコードも問題なく成り立ちます(List1.4)。 この括弧記法を応用することで、ただのオブジェクトを連想配列のように扱うことができます。特にECMA262-3からは、日本語文字を含む多数のUnicode文字も識別子として使用できるようになりました(*2)。これにより、特に複雑なメソッドが必要ない限り、大概の連想配列なら通常のオブジェクトで十分に事足ります。 オブジェクトを連想配列として扱った場合、その連想配列が持つ全ての要素に対してアクセスしたい、即ち、そのオブジェクトが持つ全てのメンバに対してアクセスしたい、という場合があります。JavaScriptでは、その要求を満たすためにfor inという制御構造が提供されています。 これは、あるオブジェクトに対しそのオブジェクトが持つメンバが尽きるまでループを繰り返す、というもので、その構文はfor(ループカウンタinオブジェクト) ステートという形になります。 オブジェクトと書かれた部分に、メンバを列挙したいオブジェクトを指定すると、ループ中では、ループカウンタ変数にそのメンバの識別子が代入されます。従って、括弧記法を用いることで、オブジェクトのメンバにアクセスすることが可能となります(List 1.5)。 List 1.6と同じように文字列オブジェクトを作成し、そのオブジェクトにプロパティを定義して、for inでそのオブジェクトのメンバを全部書き出すプログラムです。さて、ではこのプログラムを実行したら、どういう結果が得られるでしょうか? このように、オブジェクトのプロパティには属性というものが存在します。属性を持つプロパティは、その所有する属性に定義された性質を持つことになるのです。 プログラマの操作によって、属性付きのプロパティが作成される事はありますが、あくまでシステムが定義する振る舞いの結果そうなるというだけです。 従って、これらの属性を持つプロパティというのは、基本的に組込みのオブジェクトが持つと言うことになります。 スパム対策で、トラックバックはデフォルトで非公開とし、編集部チェックを通した上で公開させて頂いております。重複した登録などにご注意ください。 内容には、不正確な記述、執筆者の予断や誤解に基づくもの、リンク切れ、環境要件が古いものが含まれていることがあります。 記事(翻訳記事を除く)の訂正に関しては、編集部の判断により随時対応することがありますが、各著作権者および(株)翔泳社はその内容の完全性を一切保障しません。 記事内容の運用により派生した損害を含むあらゆる結果について、各著作権者および(株)翔泳社は一切の責任を持ちません。 各著作権者は記事内容に関するあらゆるサポートに付いてもその義務を放棄しています。あくまで記事は投稿され、編集を経て、公開された時点で完結したものであり、公開以降もサポートするかどうかは各者の任意事項となります。あらかじめご了承ください。 |
ノーローンの最新サイト、 ノーローンの情報、 ノーローンの借り方申し込み方、 ノーローンの比較情報など、 ノーローンに関することのキャッシング総合情報サイト。