在阅读egg.js
的源码的时候,发现有以下代码:
class EggCore extends KoaApplication {
constructor(options) {
......
}
.....
get router() {
if (this[ROUTER]) {
return this[ROUTER];
}
const router = this[ROUTER] = new Router({ sensitive: true }, this);
// register router middleware
this.use(router.middleware());
return router;
}
...
}
想知道get关键字是干嘛的,这样写有什么作用或优点?
我也可以直接写在构造函数中啊。
class EggCore extends KoaApplication {
constructor(options) {
......
this.router = (() => {
if (this[ROUTER]) {
return this[ROUTER];
}
const router = this[ROUTER] = new Router({sensitive: true}, this);
// register router middleware
this.use(router.middleware());
return router;
})();
}
}
https://developer.mozilla.org...