相关疑难解决方法(0)

CoffeeScript:使用instanceof vs Class.constructor.name

如果我有课:

class Haha
  constructor: (@lolAmount = 1) ->
    alert @lolAmount
Run Code Online (Sandbox Code Playgroud)

我想检查对象是否属于正确的类,使用它总是安全的constructor.name:

haha = new Haha()
unless haha.constructor.name is 'Haha'
  throw Error 'Wrong type'
Run Code Online (Sandbox Code Playgroud)

或者它是否更好用instanceof:

haha = new Haha()
unless haha instanceof Haha
  throw Error 'Wrong type'
Run Code Online (Sandbox Code Playgroud)

我有一个论点instanceof是使用时extends:

class BigHaha extends Haha

bigHaha = new BigHaha
console.log bigHaha instanceof Haha #true
Run Code Online (Sandbox Code Playgroud)

但是作为一个JavaScript运算符是多么安全 - 我觉得我应该对它持怀疑态度.

另一方面,constructor.name很明显发生了什么.是否保证constructor.name将在所有对象上设置?

谢谢你的任何信息.

coffeescript

12
推荐指数
1
解决办法
8914
查看次数

@ angular/router 3.0.0-alpha.3:如何迁移OnActivate

我刚刚将@ angular/router升级到3.0.0-alpha.3.但是,我找不到2.0.0-rc.1中提供的OnActivate接口.任何提示都表示赞赏.

router angular

10
推荐指数
2
解决办法
2831
查看次数

Angular 2 rc3路由器订阅

在angular2 rc1中,我订阅了路线的变化:

this.router.changes.subscribe(
() => {
    console.log(this.location.path());
});
Run Code Online (Sandbox Code Playgroud)

我如何订购angular2 rc3中的路线?router.changes已经不存在了.

router angular

6
推荐指数
1
解决办法
2555
查看次数

标签 统计

angular ×2

router ×2

coffeescript ×1