JavaScript オブジェクト 新しいページはコチラ
提供: yonewiki
(→.create 関数) |
(→.create 関数) |
||
806行: | 806行: | ||
== .create 関数 == | == .create 関数 == | ||
− | *objNew1 = Object.create(Object.prototype, | + | *objNew1 = Object.create(Object.prototype,objPropertyDescripter); |
− | :上記のようにしてオブジェクトを作成できます。第一引数には作成するオブジェクトのプロトタイプを指定できます。上記の例であれば、何も値を保持しないObjectというオブジェクトが持っている構造をもとにしたプロパティ値やメソッドおよび関数を保持した構造に付け加えて、2番目の引数で指定するのは'''プロパティ記述子というオブジェクトを保持したプロパティ値を持ったオブジェクト(オブジェクト初期化子で定義するプロパティ) | + | :上記のようにしてオブジェクトを作成できます。第一引数には作成するオブジェクトのプロトタイプを指定できます。上記の例であれば、何も値を保持しないObjectというオブジェクトが持っている構造をもとにしたプロパティ値やメソッドおよび関数を保持した構造に付け加えて、2番目の引数で指定するのは'''プロパティ記述子というオブジェクトを保持したプロパティ値を持ったオブジェクト(オブジェクト初期化子で定義するプロパティ)です。プロパティ記述子(PropertyDescripter:プロパティデスクリプタ)とは、プロパティの属性を指定するもので、具体的にはサンプルのような形式のものです。'''引数で指定したプロパティ記述子を反映した第一引数のオブジェクトを生成するのがこの関数の役割でobjNew1として生成されます。第一引数にnullを指定すると、プロトタイプ値は保持されません。Objectのプロトタイプも保持されません。第二引数を省略することは可能です。 |
871行: | 871行: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Media:JavaScript Object create.html|実行結果サンプル]] | [[Media:JavaScript Object create.html|実行結果サンプル]] | ||
+ | |||
+ | |||
+ | :サンプルはプロパティ記述子を出力したり、プロパティ記述子の値を設定したりする処理をする部分を追加しているためややこしいことになっていますが、まずはObject.createの使い方だけでも参考にしてもらえればと思います。もうちょい先まで同じサンプルで説明したいとおもっておりますので、もうちょっと先の項目まで読めば、わからなかった部分も理解できると思います。 | ||
== .defineProperties 関数 == | == .defineProperties 関数 == |