RangeError:Node.js超出最大调用堆栈大小

我在JS中创build了模型脚本,所以我可以传入一个对象并添加一些逻辑和值。 我使用get / set来生成值,但是当我运行我的代码时,会引发超出RangeError:Maximum调用堆栈大小。 有谁知道谁来修复这个错误?

var model = { get id() { return this.id ; }, set id(id) { this.id = id || ''; }, get filename(){ return this.filename ; }, set filename(name){ this.filename = name || ''; }, get savename(){ return this.savename ; }, set savename(name){ this.savename = name || ''; }, get filetype(){ return this.filetype ; }, set filetype(name){ this.filetype = name || ''; } }; module.exports = function(parm){ model.id = parm.id ; model.filename = parm.filename ; model.savename = parm.savename ; modle.filetype = parm.filetype; return model ; }; 

 get id() { return this.id ; }, 

您已经为名为“id”的属性定义了一个getter。 你的getter实现表示它应该从对象中返回属性“id”的值。

为了获得属性“id”的值,系统首先检查该属性是否有getter。 在这种情况下,所谓的吸气。

二传手同样如此。

您必须将实际属性值保存在对象属性的值以外的地方,否则您将遇到您正在遇到的问题。

 get id() { return this._id; }, set id(value) { this._id = value || ""; }, 

你不必这样做, 这只是一个工作的方式。