测试coffeescript中的类成员资格的最简单方法是什么?

fli*_*ald 18 coffeescript

我正在寻找相当于Ruby的"blah".is_a?(String)Objective-C[@"blah" isKindOfClass:[NSString class]]

Tre*_*ham 36

您想测试对象是否来自特定类吗?然后你想要instanceof关键字.(这不是CoffeeScript添加的东西;它是JavaScript的一部分.)设置CoffeeScript类,如果你写的话

class A
class B extends A
class C extends B
Run Code Online (Sandbox Code Playgroud)

那么以下是真的:

(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
Run Code Online (Sandbox Code Playgroud)

此外,任何对象将返回trueinstanceof Object.

如果要测试对象是其实例的特定类,请使用.constructor.例如,

(new B).constructor is B
Run Code Online (Sandbox Code Playgroud)

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

(new B).constructor.name is 'B'
Run Code Online (Sandbox Code Playgroud)