簡體   English   中英

JavaScript邏輯運算符&& in語句?

[英]Javascript logical operator && in statements?

我已經開始深入研究骨干網,在使用路由器功能來創建和銷毀視圖時,我遇到了這個小片段,這對我來說並沒有什么意義,因為我一直認為這些運算符只能在條件語句

this.view && this.view.remove();

它位於連接到路由器的方法內部,該方法似乎很吸引人,但我總是對伏特加代碼感到厭倦,因為伏特加代碼不適合我。

繼承人的完整方法

loadView : function(view) {
        this.view && this.view.remove();
        this.view = view;
    }

很想更好地理解這一點,希望它不要太傻問。

干杯。

在JavaScript中:

this.view && this.view.remove();

相當於

this.view ? this.view.remove() : this.view;

僅當左側為真時,才執行右側 如果表達式的值被忽略並且左側沒有副作用(在這種情況下),則它也等效於此:

if (this.view) {
    this.view.remove();
}

因此,在這種特定情況下,如果存在現有view ,則將其刪除。 請注意,此表達式的值不一定是布爾值(與許多其他語言不同); 它是remove返回的任何內容。 但是,此值將被忽略,因此實際上不相關。

javascript中的運算符&&評估第一個表達式,如果它是假的,則返回它,如果是事實,則對第二個表達式進行求值並返回。

對於|| 反之亦然:對第一個表達式求值,如果是真,則返回它,否則對第二個表達式求值並返回。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM