三目運算子小技巧

2021-09-22 16:27:43 字數 1690 閱讀 6921

三目運算子是乙個很方便快捷的書寫一些簡單的邏輯語句的方式

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.statedata屬性。按照常規的方式我們會先去判斷這個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...