如果参数或参数为null JAVASCRIPT

如果参数或参数为null JAVASCRIPT,javascript,class,parameter-passing,Javascript,Class,Parameter Passing,Hello pro的,我唯一知道我的类中的一些参数是否为null的方法是使用“if语句”。是否有任何有效的方式或方法代替if语句 因为如果我没有在那里放“If语句”,它会显示“undefined”。我只想知道,如果我的某些参数/参数为空/未定义,则“未定义”字不会显示 class People { constructor ({fname, mname, lname, favs}) { this.fn = fname; this.mn = mname; this.ln = lname; this

Hello pro的,我唯一知道我的类中的一些参数是否为null的方法是使用“if语句”。是否有任何有效的方式或方法代替if语句

因为如果我没有在那里放“If语句”,它会显示“undefined”。我只想知道,如果我的某些参数/参数为空/未定义,则“未定义”字不会显示

class People {
constructor ({fname, mname, 
lname, favs}) {
this.fn = fname;
this.mn = mname;
this.ln = lname;
this.favs = [favs]
this.init();
} 
//这里,我只使用if语句

init(){

if (this.favs === null){
console.log(
${this.-fn}${this.mn}
${this.ln}
) } 否则{ console.log(
${this.-fn}
${this.mn}${this.ln}
${this.favs}${this.num}
${this.color}${this.hobby}
) }


使用默认参数怎么样?通过这种方式,您可以确保使用默认值初始化可选参数(这样,您就永远不会得到未定义的参数)。像这样的

班级人员{
构造函数(fname、lname、favs){
this.fname=fname;
this.lname=lname;
this.favs=favs | |[];
this.init();
}
init(){
log(`Hi,我是${this.fname}${this.lname})。我的爱好是:${this.favs.join(',')}`);
}
}
const-joe=新人('joe','Doe');

因此,如果我没有在那里输入值,她将忽略FAV,先生?如果没有提供值,它只会指定一个默认值,这样,
FAV
将永远不会被未定义。我现在明白了。谢谢你的帮助,先生!乐于助人。请记住将问题标记为已回答。还有一件事,如果删除favs中的OR(| |),它将显示undefined。我关心的是,为什么会这样,先生,这是为了什么?
}
}

const $test = new People (
{
fname: 'Some',
mname: 'Random', 
lname: 'String',
favs: []
}
)