1. 程式人生 > >javaScript 雙目運算子 && 高階篇

javaScript 雙目運算子 && 高階篇

 初學javascript的時候對運算子&&瞭解而不深,不明白其精髓,隨著對javascript的語言慢慢的深入,發現高手靈活運動&&等符號到如此地步,自己隨筆總結一下。

1. 首先做個實驗:

   console.log( false&&'byebye' ); //false
   console.log( true&&'byebye' ); //byebye
   console.log( false || 'byebye' ); //byebye
   console.log( true || 'byebye' );   //true

需要明白的原理是: &&和||都遵循短路原理,例如&&中第一個表示式為真那麼不處理第二個表示式,而||相反。

注意:在&&中如果第一個表示式為真時則返回第二個表示式的值而不會強制轉換為布林型

           而 | | 的第一個表示式為假則返回第一個表達示的值而不會強制轉換為布林型

2. &&與|| 的進階

例如有下面一段程式碼:

if( o.item > 0 ){

      abs = functionA( );

}

那麼用&&可以這樣寫: o.item > 0 && (abs = functionA( ) )

這樣只需一行程式碼搞定,簡化程式碼的同時帶來的風險是降低了程式碼的可讀性,建議向如此程式碼多加註釋便於維護。