2017年03月12日

[書評]オブジェクト指向javascriptの原則 5章を読んだ

オブジェクト指向JavaScriptの原則

新品価格
¥2,592から
(2017/3/12 16:50時点)



[書評]オブジェクト指向javascriptの原則 4章を読んだ
の続編

5章は継承
以下、5章

・valueOf
オブジェクトに演算子が使用される際に暗黙的に呼ばれる
だから、これ継承すると出力した値を使用することができる
function Person(first, last) {
this.first = first;
this.last= last;
}
var person = new Person("masterka", "tanaka");
console.log("person is "+person);//[Object Object]
Person.prototype.valueOf = function () {
return this.first+" "+this.last;
}
console.log("person is "+person); //masterka tanaka


・toString
toStringもvalueOfと同じように使える


・親クラスの関数を呼ぶ
jsはプロトタイプチェーンを介して継承がおこなわれる
ここで明示的に親クラスの関数を呼びたいときは
callやapplyを使う
//コンストラクタ呼ぶ
function Saiyajin(first, last) {
Person.call(this, first, last);
}
Saiyajin.prototype = Object.create(Person.prototype,{
construtor:{
configurable: true,
enumerable: true,
value: Saiyajin,
writable: true
}
});
//valueOf上書き
Saiyajin.prototype.valueOf = function() {
var text = Person.prototype.valueOf.call(this);
return text.replace("person", "saiyajin");
}
var saiyajin= new Saiyajin("masterka", "tanaka");
console.log("saiyajin is "+saiyajin);


本章もためになりました
継承jsで書くの面倒ですけどapply,call使えば
確かに便利そうですね
もう少しでこの本も終わり
タグ:javascript
posted by マスタカ at 16:51 | Comment(0) | TrackBack(0) | | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/447842829
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック