厳密等価演算子とは
厳密等価演算子(===
)とはイコール3つで表現される比較演算子です。
2つのオペランド(被演算子, 演算対象の変数のこと)が等しければtrue
、等しくなければfalse
を返します。
厳密等価演算子はオペランドの値だけでなく型も等しいかチェックします。
ですので、型が異なるオペランドを厳密等価演算子で比較した場合、結果は常にfalse
になります。
以下は厳密等価演算子による比較結果の例です。
// trueの例
console.log('hello' === 'hello'); // true
console.log(undefined === undefined) // true
console.log(null === null) // true
// falseの例
console.log(1 === '1') // false
console.log(1 === true) // false
console.log(0 === false); // false
console.log(0 === '') // false
console.log(null === undefined) // false
等価演算子とは
等価演算子(==
)とはイコール2つで表現される比較演算子です。
2つのオペランド(被演算子, 演算対象の変数のこと)が等しければtrue
、等しくなければfalse
を返します。
厳密等価演算子とは異なり、オペランドの型が異なる場合は型の変換を試みてから比較をします。
ですので、厳密等価演算子でfalse
だったものが等価演算子でtrue
になるケースも存在します。
以下は等価演算子による比較結果の例です。
// 厳密等価演算子でtrue、等価演算子でtrueの例
console.log('hello' == 'hello'); // true
console.log(undefined == undefined) // true
console.log(null == null) // true
// 厳密等価演算子でfalse、等価演算子でtrueの例
console.log(1 == '1') // true
console.log(1 == true) // true
console.log(0 == false) // true
console.log(0 == '') // true
console.log(null == undefined) // true(等価演算子ではnullとundefinedは同じものとして扱われる)
// 厳密等価演算子でfalse、等価演算子でfalseの例
console.log(10 == true) // false
console.log(0 == null) // false
console.log(false == null) // false
console.log('' == null) // false
console.log(0 == undefined) // false
console.log(false == undefined) // false
console.log('' == undefined) // false
さいごに
Twitter(@nishina555)やってます。フォローしてもらえるとうれしいです!