javascript - 在 JavaScript 中处理可选返回值的最佳方法是什么?
问题描述
我正在尝试用 JavaScript 编写一个返回值或 false 的函数。有像 Scala 那样的某种“选项”返回类型吗?例如,在 Scala 中:
def foo(): Option[T]()
在 JavaScript 中,我能找到的唯一方法是通过不同的返回值,例如:
function foo() {
if (x) {
return "value";
} else {
return false;
}
}
这是惯用的还是有更好的方法?
解决方案
不,那里没有。考虑到 JS 是“弱类型”。
通常在这种情况下,您要么 returnnull
要么undefined
. 对于返回对象类型的函数,通常是第一个,例如在 DOM API 中:
let node = document.getElementById("foo");
if (node) {
// do something
}
如果具有 id 的节点foo
不存在,node
将为null
. 检查有效,因为null
它是一个falsy
值。
在您的示例中,如果您返回一个字符串,那么最好的方法可能是返回一个空字符串——这也是“假的”——或者undefined
.
但是没有什么能像Option
Scala 或 Rust 一样。
推荐阅读
- python - 正则表达式使用python比较和提取字母字符
- python - 安装 Tensor Flow 泊坞窗图像
- c++ - 在 C++ 中生成随机数
- php - PHP - 选择下拉菜单并在文本框中显示数据
- sas - 我在 SAS 中的 char 到 datetime 转换有什么问题?
- c++ - 错误:使用 dpdk 18.08 取消引用指向不完整类型的指针
- c# - 在 C# 中添加一个双精度数
- ruby-on-rails - 如何模拟 Rails.cache.fetch 的 nil 情况?
- reactjs - Sonarqube Lcov 覆盖范围未显示
- javascript - 数据范围之间的函数计算仅适用于第一行