JavaScript第5版(165p〜176p)

金曜の電車込み過ぎ。。。

JavaScript 第5版

JavaScript 第5版

9.4.3 比較用のメソッド(p167)

JavaをまねてcompareTo()メソッドとあるが、
実際にJavaをまねているのはcompare()メソッド。
なんかややこしく説明されてしまっている。

ここの例では、equalsとの一貫性がないから、
わざとやっていないのか。たしかに。
例が悪かったのかなー

9.5 スーパークラスとサブクラス(p169)

PositionedRectangle.prototype = new Rectangle();

prototypeにオブジェクトを代入している。
んー?
よくわからないのでまとめてみた。

prototypeはたんなるオブジェクトなのか。
prototypeのオブジェクトでもさらにprototypeを参照する。
ほほー
p171で

delete PositionedRectangle.prototype.width
delete PositionedRectangle.prototype.height

も納得。別にやらなくても参照されることはないだろうけど、余計だからか。

Rectangle.call(this,w,h)

これがJavaで言うsuper(w,h)に値するわけだね。

9.5.1 コンストラクタチェーン(p172)

意味的にはこっちのほうがJavaのsuperだけど、
確かに永久に再帰してしまう。危ない。。

9.5.2 オーバーライドされたメソッドの呼び出し(p172)

prototypeからメソッドをとりだして、applyで実行か。
了解っす!

9.6 継承以外のクラス拡張方法(p173)

prototype.jsのObject.extendがメソッドをコピーしていたような。
そういうことかな。
mixinはUtilityメソッドをオブジェクトに埋め込んでしまうのね。
どんなプロパティが存在するかもわからないんだから、
toStringくらいしか使い道がわからんぞっ
Dxoみたいな使い方もできるね。

今日は以上。だんだんペースが落ちてきている。
でもここがきっと峠に違いない!!