NodeJS:扩展Class和__construct方法
我将我的系统从PHP迁移到NodeJS,我有以下疑问:
在PHP中,我有class
class Users extends Groups { function __construct(){ parent::__construct(); //do something } }
但是,如何在Javascript / NodeJS(ExpressJS)中做到这一点? 我认为这是扩展,但我如何定义__construct方法? 什么是在类实例的开始将调用的方法的名称,如在PHP中?
var utils = require('utils'); var Groups = require('./groups.js'); var Users = function(){ //where is the __construct?? }; util.inherits(Users, Groups);
没有专门的parent
构造,所以它取决于你以某种方式调用父构造函数。
inherits
为它的第一个参数添加一个super_
属性
Users.super_ = Groups;
所以你可以像这样调用父构造函数:
Users.super_.call(this); // Can pass arguments to function as more params. // OR Users.super_.apply(this, arguments); // Pass all arguments through.
或者你也可以直接引用父构造函数:
Groups.call(this); // Can pass arguments to function as more params. // OR Groups.apply(this, arguments); // Pass all arguments through.