Javascript 我对AngularJS的几行代码有一些疑问

Javascript 我对AngularJS的几行代码有一些疑问,javascript,angularjs,Javascript,Angularjs,在我工作的地方,我们有一个angularjs项目,我需要修改,但我不能完全理解以下代码: app.controller("complementsController", function($scope, $rootScope, $mdSidenav, $timeout, $localStorage, $window) { $scope.storage = $localStorage; $scope.arrayCubiert = $scope.storage.cocinaCubie

在我工作的地方,我们有一个angularjs项目,我需要修改,但我不能完全理解以下代码:

app.controller("complementsController", function($scope, $rootScope, $mdSidenav, $timeout, $localStorage, $window) {
    $scope.storage = $localStorage;
    $scope.arrayCubiert = $scope.storage.cocinaCubiert.split("-");
    $scope.tipoCubiert = $scope.arrayCubiert[1];
    $scope.return = function() {
        $window.history.back()
    };
    $scope.configurations = [{
        logo: "some-logo",
        val: 1
    }];
    "CUE" != $scope.tipoCubiera && "CUF" != $scope.tipoCubiert && "CUS" != $scope.tipoCubiert || $scope.configurations.push({
        logo: "fiss-logo",
        val: 2
    });
    "CUE" == $scope.tipoCubiert && $scope.configurations.push({
        logo: "grafett-essence",
        val: 3
    });
    $scope.opcionTitle = "EhapeAL", $scope.opcionImg = [ ["EAL.png", "EhapeAL AL"] ];
    $scope.opcionBtn = 1, $timeout(function() {
        $mdSidenav("sidebar").toggle().then(function() {})
    }, 500);
具体而言,我不明白的是:

“提示”!=$scope.tipoCubierta&“CUF”!=$scope.tipoCubierta&“CUS”!=$scope.tipoCubierta | |$scope.configuraciones.push({ 徽标:“fisso徽标”, 瓦尔:2 }),


这是一种速记条件吗???如果是这样的话,这将是一种“传统”的方式。

这与AngularJS无关,只是javascript而已 如果你把这样的东西:

4!=1 && 4 != 2 && 4 != 3 | | console.log(“hello world”)
来自MDN关于:

短路评估

当逻辑表达式从左到右求值时,将对其进行测试 使用以下规则进行可能的“短路”评估:

false&任何短路都被评估为false。

true | |任何短路都被评估为true。

逻辑规则保证这些评估总是正确的。请注意 以上表达式的任何部分都不会计算,因此 这样做的效果不会生效

因此,上述代码的“传统”方式是:

if(!("CUE" != $scope.tipoCubierta && "CUF" != $scope.tipoCubierta && "CUS" != $scope.tipoCubierta)){
     $scope.configuraciones.push({ logo: "fisso-logo", val: 2 })
}

这是迫切需要一些缩进,使其可读性。