2013年9月28日土曜日

[coffeescript]typeofよりinstanceof

クラスの型をチェックする場合には、typeofよりinstanceofを使うほうがよい。

下のコード例&実行結果を見るとわかるけど、typeofを使用した場合その変数の型はobjectとなってしまう。
これだと、その変数のクラス型を正しく判定できないのでinstanceofを使用して判定する。

コード例

class Hoge

class Fuga

hoge = new Hoge()
fuga = new Fuga()

console.log typeof hoge             # object
console.log (hoge instanceof Hoge)  # true
console.log (fuga instanceof Hoge)  # false

実行結果

object
true
false