0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

&&演算子と||演算子の挙動

Last updated at Posted at 2023-03-04

IF分やwhileループなどによく使われる&&と||だが、私はよく挙動を勘違いするのでメモ。

&&演算子

&&演算子は左辺の式をまず評価する。左辺の式の値がfalseに変換される場合、左辺の式をそのまま返す。右辺の値は評価しない。もし、左辺の式がtrueに変換される値の場合、右辺の式を評価し、その値を返す。
例:

false && true; // false
'' && 'foo';   // ""
2 && 0;        // 0
'foo' && 4;    // 4

||演算子

||演算子は左辺の式をまず評価する。もしこの式の値がtrueの場合、左辺の式をそのまま返す。右辺の値は評価しない。もし左辺の値がfalseに変換される値の場合は右辺の式を評価しこの値を返す。
例:

false && true; // true
'' && 'foo';   // 'foo'
2 && 0;        // 2
'foo' && 4;    // 'foo'

※注意
&&演算子と同じように、右辺の式が評価させれない場合があることを意図的に利用したい場合を除けば、副作用を伴う式を右辺の式に利用しない。

// maxWidthがtrueに変換される値であれば、この値を使う。falseに変換される値であれば、
// preferencesオブジェクトの値を使う。この値もtrueに変換される値でなければ、定数を使う。
let max = maxWidth || preferences.maxWidth || 500;

参考

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?