javascript - 许多 if 语句的替代方案

标签 javascript

我正在编写将用于为网站创建引文的代码,我目前正在处理的问题是如果引文数据缺少信息(例如缺少作者或标题)该怎么办。所以,我目前实现的是一堆 if 语句来检查特定引用是否缺少任何信息,基本上它看起来像:

if (citationdata.authors) {
    citation += citationdata.authors
}
else {
    citation += "Unknown author. "
} 

等等,对于我需要为该特定引用类型进行的任何其他检查,在建立完整的引用之前,最终大约有 5-6 个独立的 if 语句。

我对使用 javascript 比较陌生,所以,我的问题是这是否会被视为不良做法,如果是的话,我可以使用哪些替代方案?

最佳答案

这个简单的事情可以简化为:

citation += citationdata.authors || "Unknown author. ";

|| operator会将左边的任何内容转换为 bool 值,如果它是 'truthy' 值,它将返回表达式的左侧,否则它将计算并返回表达式的右侧表达。

Falsey”值包括:

  • bool 值false
  • 空字符串
  • 数字0
  • NaN
  • null
  • 未定义

所有其他值都是“真实的”。

关于javascript - 许多 if 语句的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21712035/

相关文章:

javascript - 如何在带有客户端渲染器的服务器上使用 Matter.js

javascript - 不同的 css 文件到 jquery 插件

javascript - 当元素在脚本标签下方时,为什么 javascript 不通过 id 获取元素?

javascript - this.prop 在文本区域更改处理程序中被践踏

运行此代码时 JavaScript 会卡住浏览器

javascript - 闭包如何节省时间?

Javascript - 关闭标签

javascript - 精简 jQuery

javascript - 为 flatlist 的所有项目创建一个状态数组。 ( react native )

javascript - React 图片上传组件