三目運算子是乙個很方便快捷的書寫一些簡單的邏輯語句的方式
x >
100?
'above 100'
:'below 100'
;x >
100?
(x >
200?
'above 200'
:'between 100-200'):
'below 100'
;
但是有些時候當邏輯複雜之後,三目運算子書寫起來可讀性也會很難。這個時候,我們就可以使用邏輯與(&&)和邏輯或(||)運算子來改寫我們的表示式。
邏輯與和邏輯或操作符總是先計算其做運算元,只有在僅靠左運算元的值無法確定該邏輯表示式的結果時,才會求解其右運算元。這被稱為「短路求值(short-circuit evaluation)」
與(&&)運算子將會返回第乙個false/『falsy』的值。當所有的運算元都是true時,將返回最後乙個表示式的結果。
let one =
1, two =
2, three =3;
console.
log(one && two && three)
;// result: 3
console.
log(0&&
null);
// result: 0
或(||)運算子將返回第乙個true/『truthy』的值。當所有的運算元都是false時,將返回最後乙個表示式的結果。
let one =
1, two =
2, three =3;
console.
log(one || two || three)
;// result: 1
console.
log(0||
null);
// result: null
運算子
語法說明
邏輯與,and(&&)
expr1 && expr2
若 expr1 可轉換為 true,則返回 expr2;否則,返回 expr1。
邏輯或,or(||)
expr1 || expr2
若 expr1 可轉換為 true,則返回 expr1;否則,返回 expr2
邏輯非,not(!)
!expr
若 expr 可轉換為 true,則返回 false;否則,返回 true。
當我們從伺服器端請求資料的過程中,我們在另乙個位置來使用這個資料,但是獲取資料的狀態並不知道,如我們訪問this.state
的data
屬性。按照常規的方式我們會先去判斷這個this.state.data
的有效性,之後根據有效性情況分別進行區分處理。
if
(this
.state.data)
else
但是我們可以通過上面的方式來簡寫這個邏輯處理。
return
(this
.state.data ||
'fetching data'
);
對比發現這個方式更加的簡潔方便。 三目運算子
1 概念 根據不同的條件,執行不同的操作 返回不同的值。條件1?值1 或操作1 如果滿足條件 1,就返回值 1或執行操作1 條件2?值2 或操作2 否則,如果滿足條件 2,就返回值 2或執行操作2 總結 表示式 閏年 平年 多種條件 條件 1?值1 條件2?值 值3例子 1 輸入星期四 就輸出 班級...
三目運算子
單目運算子 3 雙目運算子 3 4 三目運算子 格式 表達關係式 表示式1 表示式2 如果條件為true,運算後的結果是表示式1 如果條件為false,運算後的結果是表示式2 比較表示式 結果是乙個boolean型別 執行流程 根據比較表示式的計算返回乙個true或者false。如果是true,就把...
三目運算子
1.用控制台輸入3個整數,必須使用三目運算子使其顯示出最大值。int a,b,c console.writeline 請輸入第1個數 a int.parse console.readline console.writeline 請輸入第2個數 b int.parse console.readline...