このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
js:object:chain [2021/05/12 09:40] tanaka |
js:object:chain [2021/05/24 12:56] (現在) tanaka |
||
|---|---|---|---|
| 行 2: | 行 2: | ||
| --- // | --- // | ||
| + | |||
| + | ===== prototypeオブジェクト ===== | ||
| + | |||
| + | <sxh javascript; | ||
| + | var Student = function(name) { | ||
| + | this.name = name; | ||
| + | }; | ||
| + | |||
| + | Student.prototype.greeting = function() { | ||
| + | console.log(`I am ${this.name}.`); | ||
| + | }; | ||
| + | |||
| + | // 年齢(age)はオブジェクト毎に保持されるべきなので、prototypeには適さない。 | ||
| + | // 但し参照のみの初期値として使用することはできる。 | ||
| + | Student.prototype.age = 15; | ||
| + | |||
| + | // suzukiはStudentのprototypeの参照を保持する。 | ||
| + | var suzuki = new Student(' | ||
| + | suzuki.greeting(); | ||
| + | </ | ||
| + | |||
| + | === プロトタイプを使用するメリット === | ||
| + | |||
| + | - メモリ量の節約できる | ||
| + | - メンバの追加/ | ||
| + | |||
| + | \\ | ||
| ===== プロトタイプチェーン ===== | ===== プロトタイプチェーン ===== | ||
| 行 73: | 行 100: | ||
| \\ | \\ | ||
| - | ===== constructorプロパティとinstanceof | + | ===== isPrototypeOfメソッド |
| <sxh javascript; | <sxh javascript; | ||