我正在寻找相当于 Ruby 的"blah".is_a?(String)
Objective-C 的[@"blah" isKindOfClass:[NSString class]]
问问题
4589 次
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
此外,任何对象都将返回true
for 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 回答