我想在实例化对象时返回 false

i want to return false when instantiating an object

本文关键字:返回 false 对象 实例化      更新时间:2023-09-26

嗯,这不是一个简单的问题,但在小提琴中,你会看到我正在尝试做的事情的简化版本:

我想实例化一个对象,执行初始化它所需的所有操作,但我想要语句:

var obj = new class; 

在某些条件下向 OBJ 返回"false"。

无论如何,这是代码:

var cl = function(id){
   this.init(id);
   if(this.id > 5){
       return false;
   }
};

cl.prototype = {
    init: function(id){
        this.id = id;                        
    }
}
var arr = [];
for(i = 0; i < 10; i++){
    var obj = new cl(i);
    if(obj){
         arr.push(obj);
    }
}
console.log(arr);

我知道最终结果可以通过为对象创建控件属性来实现,但我很好奇是否有任何模式可以做这个清洁工。

可能

不完全是你所要求的,但解决方案可能是使用工厂模式。当然,您必须调用 factory 方法而不是构造函数。结帐这个小提琴