Javascript 是否可以根据另一个值来调整构造函数中的默认值?

Javascript 是否可以根据另一个值来调整构造函数中的默认值?,javascript,if-statement,lit-element,Javascript,If Statement,Lit Element,我想在构造函数中设置一个defalt值,该值取决于其他值 下面是类型值所在的模板​​它们是: class SelectOption extends LitElement { static get properties() { return { type: {type: Array} }; } constructor() { super(); this.type = ['1', '2']; } 这或多或少就是我想要的: import { LitE

我想在构造函数中设置一个defalt值,该值取决于其他值

下面是类型值所在的模板​​它们是:

class SelectOption extends LitElement {
static get properties() {
    return {
        type: {type: Array}
    };
}

constructor() {
    super();
    this.type = ['1', '2'];
}
这或多或少就是我想要的:

import { LitElement, html } from 'lit-element';

class SelectCounter extends LitElement {
    static get properties() {
        return {
             type: {type: Array},
             numPassengers: {type: Number},
         };
     }

    constructor() {
        super();
        this.numPassengers = {
            if (this.type === '1') {
                this.numPassengers = 1;
            } else {
                this.numPassengers = 0;
            }
        }
    }
}

不是从构造函数,不是。调用构造函数时,还没有从DOM设置属性。我建议进去看看

但是,还有一些其他的事情要考虑。

首先,计算this.numPassengers的表达式有点不正确。从这两个例子中,我不能很清楚地看到您想要什么,但是如果<代码>类型< /代码>是一个数组,请考虑下面的代码片段:

constthistype=['1','2'];
让这些人来吧;
如果(此类型[0]=“1”){
这个数字=1;
}否则{
这个numpassengers=0;
}

console.log(thisNumPassengers)如果将
type
作为参数传递给构造函数,则可以实现所需的功能。您可以计算
类型
并根据其值有条件地设置值
this.numPassengers
-您可以使用以下方法实现此目的:

class选择计数器{
构造函数(类型){
this.numPassengers=type==“1”?1:0
}
}
const sc0=新的SelectCounter();
const sc1=新的SelectCounter('1');
console.log(sc0.numPassengers);

console.log(sc1.numPassengers)可以使用三元
this.numPassengers=this.type=='1'?1 : 0;它对我不起作用。始终返回0。
this.type==“1”
的计算结果始终为false:您正在将数组与字符串进行比较。也许你的意思是
这个.type.includes('1')