2011-05-09 100 views

回答

36

Ruby的"blah".is_a?(String)的等效你想測試一個對象是否從一個特定的類下降?那麼你需要instanceof關鍵字。 (這不是由CoffeeScript的補充,它是JavaScript的一個組成部分。)CoffeeScript的類設置,這樣,如果你寫

class A 
class B extends A 
class C extends B 

再下面是真:

(new A) instanceof A 
(new B) instanceof B and (new B) instanceof A 
(new C) instanceof C and (new C) instanceof B and (new C) instanceof A 

此外,任何對象將返回trueinstanceof Object

如果要測試特定的類,該對象是一個實例,請使用.constructor。例如,

(new B).constructor is B 

,或者如果你想使用一個字符串,

(new B).constructor.name is 'B' 
+0

酷。它指甲:) – flitzwald 2011-05-09 18:13:14

+1

特別注意,如果你的代碼被縮小,Constructor.name不起作用 – DrSammyD 2013-08-16 17:00:36

0

這感覺不對,我創建一個類的實例。你永遠不知道,構造函數可能期望什麼參數。

所以我想出了是這樣的:

class A 
class B extends A 

console.log B.__super__ is A.prototype# => true 
+0

這不等於Ruby的''blah「.is_a?(String)' – 2016-03-11 10:00:29

相關問題