18

"blah".is_a?(String)RubyのObjective-Cに相当するものを探しています[@"blah" isKindOfClass:[NSString class]]

4

2 に答える 2

36

オブジェクトが特定のクラスの子孫であるかどうかをテストしますか? 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

また、任意のオブジェクトがtrueforを返しinstanceof Objectます。

オブジェクトがインスタンスである特定のクラスをテストする場合は、 を使用します.constructor。例えば、

(new B).constructor is B

または、文字列を使用したい場合は、

(new B).constructor.name is 'B'
于 2011-05-09T15:44:11.583 に答える
0

クラスのインスタンスを作成するのは間違っていると感じています。コンストラクターが期待するパラメーターはわかりません。

だから私が思いついたのはこれです:

class A
class B extends A

console.log B.__super__ is A.prototype# => true
于 2013-11-15T14:49:14.780 に答える