javascript - JavaScript是否有处理选项(可能返回null的东西)的标准方法?

标签 javascript

是否有标准方法可以在Javascript中返回“选项”(可能为null的对象)?

例如,是否有更标准的方式来处理类似这样的代码,尤其是功能GetById(userId)

class User {
  static function GetById(userId) {
    if (userId === 'A_GOOD_ID') {
        return new User('GOOD_NAME');
    }
    return null;
  }

  constructor(name) {
    this.name = name;
  }
}

function authenticate(userId) {
  const user = User.GetById(userId);
  if (user) return true;
  return false;
}

最佳答案

这是标准方式,返回null而不是例如抛出错误是可取的。

使用该函数时,应检查返回的值是否正确:

const result = User.GetById(...);
if (!result) {
  // handle error
}


或者,您可以使用速记or

User.GetById(...) || handleError();


在许多人看来,它的可读性较差。

关于javascript - JavaScript是否有处理选项(可能返回null的东西)的标准方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56001012/

相关文章:

javascript - JavaScript中的删除功能

java - 具有复杂键的 map 的 JSON 表示

javascript - Firebase unauth - 引发错误 : permission_denied

javascript - 使用启用了 Bootstrap 的控件时是否存在其他文件?

javascript - 忽略div中的标签,直到单击为止

javascript - 撤消 div 标记

javascript - 为什么第二个 if 条件不执行

javascript - 元素 css 遵循 jquery 声明,而不是样式表

javascript - 处理提交事件-jQuery

javascript - 从本地 JSON 文件中获取数据的 Morris 图表