javascript - 如果参数或参数为空
问题描述
JAVASCRIPT
你好,专业人士,我唯一的想法是我的类中的一些参数/参数是否为空,只是“if 语句”。是否有任何有效的方法或方法来代替 if 语句。
因为如果我没有在那里放置“if 语句”,它会显示“未定义”。如果我的某些参数/参数为空/未定义,我只想显示“未定义”字样
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){
控制台.log( ${this.fn} ${this.mn}
${this.ln}
)}否则{控制台.log( ${this.fn}
${this.mn} ${this.ln}
${this.favs} ${this.num}
${this.color} ${this.hobby}
)}
}
}
const $test = new People (
{
fname: 'Some',
mname: 'Random',
lname: 'String',
favs: []
}
)
解决方案
使用默认参数怎么样?这样你就可以确定可选参数被初始化为默认值(然后,你永远不会得到未定义的)。像这样的东西。
class Person {
constructor (fname, lname, favs) {
this.fname = fname;
this.lname = lname;
this.favs = favs || [];
this.init();
}
init () {
console.log(`Hi, I'm ${this.fname} ${this.lname}. My hobbies are: ${this.favs.join(',')}`);
}
}
const joe = new Person('Joe', 'Doe');
推荐阅读
- jquery - 将用户添加到 SharePoint 组无法在 SharePoint 2013 中使用 Rest API
- javascript - 如何从异步创建的节点中删除一个类?
- node.js - 无法检查和比较时间戳时间
- spring-webflux - 如果在计算中排除网络过滤器,为什么我的请求延迟会更高?我的代码有什么问题吗?
- sql - sql:计算相关性并将行转换为列
- assembly - Qtspim 控制台问题
- parsing - 如何使用语言具体语法树获得抽象语法树?
- reactjs - 如何在 react.js 中添加一个从列表中删除项目的按钮
- python - Python websockets:如何为多个路由/路径重用单个 websocket
- mysql - 为什么 case 在 SQL 查询中会产生不同的结果?