JavaScript第5版(177p〜198p)
そろそろ半分かと思ったら1/3もいってなかった。。。
- 作者: David Flanagan,村上列
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2007/08/14
- メディア: 大型本
- 購入: 52人 クリック: 1,011回
- この商品を含むブログ (271件) を見る
9.7.2 Object.toString()メソッドによる型判定(p178)
function MyObject(){} var obj = new MyObject(); console.log(obj instanceof MyObject); // true console.log(obj.toString()); // [object Object] console.log(typeof obj); // object var arr = ['a']; console.log(arr.toString()); // a console.log(typeof arr); // object console.log(arr.constructor.name); // Array
ふーん。toString()でconstructorの名前くらい返してくれてもいいのにと思ってしまう。
console.log(obj.constructor.name); // MyObject
ほら、取得できるじゃん?
Object.prototype.toString = function() { return '[' + typeof this + ' ' + this.constructor.name + ']'; } function MyObject(){} console.log(new Object().toString()); // [object Object] console.log(new MyObject().toString()); // [object MyObject]
自己満足♪
9.7.3 ダックタイピング(p179)
Javaのinterfaceになれているので、どうしてもひっかかってしまう。
アヒルのように歩いて、アヒルのようにガーガー鳴いていたとしても、もしかすると。。。
でもこれを乗り越えなければ、LLは制覇できない!!
10 モジュールと名前空間(p189)
最近$関数の奪い合いが発生している気がするのは私だけ?
10.1 モジュールと名前空間の生成(p192)
そういえばvarは後ろで使用されていても、コンパイル時に最初に実行される。
if文でvarはネストされないというのがあったはず。
ということは
var com; if(!com) com = {};
こんなことやらないで、
if(!com) var com = {};
これでいいじゃん!
それにしてもJavaのパッケージ命名規則を使おうとするとこうなってしまうのか。
ファイル名とディレクトリで重複をなくすというのはおもしろい!
ってか、Javaもそうじゃん・・・
10.1.3 モジュール初期化コード(p194)
匿名関数を即実行か。
確かに安全だ。今度からそうしてみよう。
10.2 名前空間からのシンボルのインポート(p195)
var selfね