我最近从Java后端改为JS前端。我们使用像对象结构这样的主干(至少是我的同事告诉我的),我想知道是否有办法覆盖toString()
(例如应该从console.log
调用)。
这就是我们的模型看起来像
// namespace
var De = {};
De.Ppasler = {};
De.Ppasler.Model = (function () {
/** @constructor */
function Model(param) {
var self = this;
self.public = function() {
// do sth public
console.log("public", private());
};
function private() {
// do sth private
return "private";
}
// this is what I would have done in Java
self.toString = function() {
return "[object Model]";
}
}
return Model;
}());
var model = new De.Ppasler.Model();
model.public();
console.log(model);
添加toString
模型不起作用。
我也试过this one:
Model.prototype.toString
和self.prototype.toString
但这会导致错误
我无法确定model
是否已定义,并且我希望避免undefined
- 检查,然后直接调用toString
进行登录。