是否有标准方法可以在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();
在许多人看来,它的可读性较差。