我们可以在 javascript 中编写不带 else 的 IF 语句吗

Can we write IF statement without else in javascript

我在 angular js 中编写了一些代码来创建一个简单的待办事项应用程序。我有以下功能代码可以从列表中删除任务。

Javascript代码

$scope.deleteTask =  function(){
    $scope.tasks.splice(this.$index, 1);
    if($scope.tasks.length < 1){
        $scope.noTask = true;
    }     
};

HTML代码

    <li ng-repeat="task in tasks track by $index">{{task}}  <button ng- click="deleteTask()">x</button></li> </li>
    <p ng-show="noTask">No Tasks Available </p>

我想在列表中没有任务时显示一条消息。我已经使用 "if" 语句实现了这一点。但我这里不需要其他人。我不确定它是否正确。实现这一目标的正确方法是什么

与任何 (?) 其他编程语言一样,您可以省略 else 部分(如果它是空的)。

只需确保如果您在 if (true) 中分配了一些值,而不是如果它没有执行则该变量具有默认值:

var test = false;

if (Math.rand() < 0.5) {
    test = true;
} 

另外还有 shorthand for if else(不能省略 else 部分):

var test = Math.rand() < 0.5 ? "True value" : "False value";

你的代码没有问题。
您可以在不使用 else.
的情况下使用 if 语句 在你的情况下,我建议按如下方式编写它以删除一些不必要的代码:

<p ng-show="tasks.length==0">No Tasks Available </p>

I wanted to show a message when there are no tasks in the list. i have achieved this using "if" statement. but i don't need an else here. i am not sure whether its the right way. what will be the proper way to achieve this

您不需要 else 语句,您可以使用 ng-if.

ng-if 语句也可以不带 else 条件。

您应该可以使用此 angular 代码:

$scope.deleteTask =  function(){
    $scope.tasks.splice(this.$index, 1);
};

这部分是 HTML:

<li ng-repeat="task in tasks track by $index">{{task}}  
     <button ng-click="deleteTask()">x</button>
</li>
<p ng-show="noTask" ng-if="tasks.length == 0">No Tasks Available </p>