【未解决】保持实例成员(constructor构造函数内)的默认值

89 阅读1分钟
class Test{
    constructor(a ,b=2 ,c) {
        this.a = a
        this.b = b
        this.c = c
    }
}

如何新建一个实例,保持b的默认值不变,给ac赋值?
解决方案: 把含有默认值的参数放到最后。

class Test{
    constructor(a,c,b=2) {
        this.a = a
        this.b = b
        this.c = c
    }
}
let t = new Test(1,5)
console.log(t) //Test { a: 1, c: 5, b: 2 }

但再加一个带有默认值的d时,这个方法又无效了,cd可能都会出现保持默认值不变的需求,如何解决呢?

class Test{
    constructor(a,b,c=3,d=4) {
        this.a = a
        this.b = b
        this.c = c
        this.d = d
    }
}