HTML5テクニカルノート 論理和(||)と論理積(&&)演算子
説明おもに、ふたつの条件を組合わせるときに用いられる演算子です。オペランド(被演算子)をブール(論理)値として評価したとき、論理和演算子||はいずれかがtrueの場合、論理積演算子&&はすべてがtrueのときに、trueと評価される結果となります。論理学の用語では、論理和||は「または」、論理積&&が「かつ」に当たります。 オペランドがブール値である場合には、演算の結果もtrueかfalseかのブール値となります。演算子||と&&についての演算結果は、それぞれ下表001のとおりです。 表001■オペランドがブール値の場合の論理和||と論理積&&の演算結果
もっとも、ふたつの論理演算の結果は厳密にはブール値ではなく、オペランドのいずれか(式1か式2)の値です(表002)。したがって、演算子の右の項(式2)は、とくにブール値としての評価はされません。ただし、値が返されるときには、式2の値そのものは評価されます。つまり、関数であれば、値を返すときに呼出されます(値を返さないときは呼出されません)。 表002■オペランドがブール値でない場合の論理和||と論理積&&の演算結果
なお、ブール値でないデータのブール値としての評価は、下表003のようになります。 表003■ブール値でないデータのブール値評価
例以下のJavaScriptコードの関数(isLeapYear())は、引数に渡された年がうるう年かそうでないかをブール(論理)値で返します。剰余演算子%の結果は、左オペランドで右オペランドの項を割った余り(剰余)です。なお、うるう年はつぎの3つの条件によって判別されます[*1]。
参考MDN「論理演算子」 作成者: 野中文雄 Copyright © 2001-2012 Fumio Nonaka. All rights reserved. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||