如果我有课:
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将在所有对象上设置?
谢谢你的任何信息.
我刚刚将@ angular/router升级到3.0.0-alpha.3.但是,我找不到2.0.0-rc.1中提供的OnActivate接口.任何提示都表示赞赏.
在angular2 rc1中,我订阅了路线的变化:
this.router.changes.subscribe(
() => {
console.log(this.location.path());
});
Run Code Online (Sandbox Code Playgroud)
我如何订购angular2 rc3中的路线?router.changes已经不存在了.