I\'m looking for an equivalent of Ruby\'s \"blah\".is_a?(String)
of Objective-C\'s [@\"blah\" isKindOfClass:[NSString class]]
It feels wrong for me to create an instance of a class. You never know, what parameters the constructor might expect.
So what I came up with is this:
class A
class B extends A
console.log B.__super__ is A.prototype# => true
Do you want to test whether an object is descended from a particular class? Then you want the instanceof
keyword. (It's not something added by CoffeeScript; it's a part of JavaScript.) CoffeeScript classes are set up so that if you write
class A
class B extends A
class C extends B
then the following is true:
(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
Also, any object will return true
for instanceof Object
.
If you want to test the specific class that an object is an instance of, use .constructor
. For instance,
(new B).constructor is B
or if you'd like to use a string,
(new B).constructor.name is 'B'