一旦它被实例化,我如何找到该对象的类?
class Cat
constructor: (@name) ->
class Dog
constructor: (@name) ->
cat = new Cat "Kitty"
dog = new Dog "Doggy"
if (cat == Cat) <- I want to do something like this
Run Code Online (Sandbox Code Playgroud)
如果你想知道特定对象的类型名称(这是我在找到这个问题时正在寻找的),你可以使用语法 {object}.constructor.name
例如
class Cat
constructor: (@name) ->
class Dog
constructor: (@name) ->
cat = new Cat()
dog = new Dog()
console.log cat.constructor.name
console.log dog.constructor.name
Run Code Online (Sandbox Code Playgroud)
哪个会输出
Cat
Dog
Run Code Online (Sandbox Code Playgroud)
执行此操作的方法是使用以下任一方法检查对象的类型
instanceof
Run Code Online (Sandbox Code Playgroud)
或者
typeof
Run Code Online (Sandbox Code Playgroud)
IE
if (obj instanceof Awesomeness){
//doSomethingCrazy();
}
Run Code Online (Sandbox Code Playgroud)
就像在 JavaScript 中一样,Coffee Script 不提供对这些函数的任何抽象
| 归档时间: |
|
| 查看次数: |
13846 次 |
| 最近记录: |