javascript:object
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン | |||
| javascript:object [2011/07/06 02:49] – nullpon | javascript:object [2025/09/10 06:41] (現在) – 削除 nullpon | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | ====== JavaScriptのオブジェクト ====== | ||
| - | |||
| - | * ネイティブオブジェクト - ECMAScriptの実装で用意されているオブジェクト | ||
| - | * 標準ネイティブオブジェクト - ECMAScriptの仕様で決められているネイティブオブジェクト | ||
| - | |||
| - | * ビルトインオブジェクト - ECMAScriptの実装で用意され、実行環境から独立して最初から存在するオブジェクト。ネイティブオブジェクトに等しい | ||
| - | * 標準ビルトインオブジェクト - ECMAScriptの仕様で定義されているビルトインオブジェクト。標準ネイティブオブジェクトと同義 | ||
| - | |||
| - | * ホストオブジェクト - ECMAScriptのホスト環境によって作成されるオブジェクト、プログラムの実行環境に依存する。 | ||
| - | |||
| - | たとえばDOMオブジェクトはブラウザという実行環境に依存するため、ネイティブオブジェクトではなく、ホストオブジェクトである。 | ||
| - | |||
| - | |||
| - | ===== Objectコンストラクタ ===== | ||
| - | new演算子によって新しいインスタンスを作成する。 | ||
| - | |||
| - | <code javascript> | ||
| - | // 引数無し、null、undefinedの場合→新しいオブジェクト生成 | ||
| - | var obj1 = new Object(); | ||
| - | |||
| - | // 引数がオブジェクト→引数をそのまま返す | ||
| - | var obj2 = new Object(obj1); | ||
| - | |||
| - | var str1 = new String(" | ||
| - | var str2 = new Object(str1); | ||
| - | |||
| - | |||
| - | // 引数が文字列や数値→ToObjectして返す | ||
| - | var obj3 = new Object(" | ||
| - | var obj4 = new Object(100); | ||
| - | var obj5 = new Object(true); | ||
| - | </ | ||
| - | |||
| - | ===== メソッドとプロパティ ===== | ||
| - | メソッドとプロパティは、生成したオブジェクトにいつでも追加できる。 | ||
| - | <code javascript> | ||
| - | var obj = new Object(); | ||
| - | |||
| - | // プロパティ追加 | ||
| - | obj.hoge = " | ||
| - | print(obj.hoge); | ||
| - | |||
| - | obj.fuga= " | ||
| - | print(obj.fuga); | ||
| - | |||
| - | // メソッド追加 | ||
| - | obj.getHogeFuga = function() { | ||
| - | return this.hoge + this.fuga | ||
| - | } | ||
| - | print(obj.getHogeFuga()); | ||
| - | </ | ||
| - | メソッド内で他のメソッドやプロパティにアクセスするにはthisキーワードを使う。 | ||
| - | |||
| - | プロパティにアクセスするのは、. 演算子で直接名前を指定するか、[] 表記を使う。(ECMA-262 5th 11.2.1) | ||
| - | |||
| - | < | ||
| - | console.log( obj.hoge ) | ||
| - | console.log( obj[" | ||
| - | |||
| - | console.log( obj.getHogeFuga() ); | ||
| - | console.log( obj[" | ||
| - | </ | ||
| - | |||
| - | []表記では文字列でプロパティを指定できるので、動的なメソッドディスパッチ・プロパティアクセスが容易である。 | ||
| - | |||
| - | ===== オブジェクトリテラル ===== | ||
| - | |||
| - | new演算子を使わず、オブジェクトリテラルを用いてインスタンスを生成できる(ECMA-262 5th 11.1.5)。 | ||
| - | |||
| - | <code javascript> | ||
| - | var obj = { | ||
| - | hoge: " | ||
| - | fuga: " | ||
| - | getHogeFuga: | ||
| - | return this.hoge + this.fuga | ||
| - | } | ||
| - | }; | ||
| - | </ | ||
| - | |||
| - | これは以下の処理と同一の結果となる。 | ||
| - | |||
| - | <code javascript> | ||
| - | var obj = new Object(); | ||
| - | obj.hoge = " | ||
| - | obj.fuga = " | ||
| - | obj.getHogeFuga = function() { | ||
| - | return this.hoge + this.fuga | ||
| - | }; | ||
| - | </ | ||
javascript/object.1309920583.txt.gz · 最終更新: by nullpon