改进'检查是否为true'作用

improve 'check if true' function

本文关键字:true 作用 检查 改进 是否      更新时间:2023-10-12

我有一个看起来像的对象

$scope.object = {
  Title: 'A title',
  Status: 'Open',
  Responsible: 'John Doe',
  Author: 'Jane Doe',
  Description: 'lorem ipsum dolor sit'
}

现在我想看看当前用户是否有权编辑这个项目,为了让用户能够编辑,项目必须进行

  • Exist(不是null、undefiend等)
  • 责任平等$scope.currentUser
  • 状态等于"打开"

如果所有这些都是真的,我们的函数应该返回真的,我正在像这个一样做

$scope.isTrue = function(){
  if($scope.object && $scope.object.Status == 'Open' && $scope.object.Responsible == $scope.currentUser){
    return true;
  }else { return false; }
}

很直接,但有更好的方法来进行这种检查吗?

if语句中的条件已经为true或false,您只需返回即可。

return ($scope.object && $scope.object.Status == 'Open' && $scope.object.Responsible == $scope.currentUser);
  1. 将结果转换为布尔值(因此,如果$scope.objectundefined,则结果是false而不是undefined
  2. 使用===进行比较
  3. 只是声明函数并将其分配到范围(个人偏好)

$scope.isTrue = isTrue;
function isTrue() {
  return Boolean($scope.object && $scope.object.Status === 'Open' && $scope.object.Responsible === $scope.currentUser);
}