blog

J14 2つの値を比較する

1.== vs === JSでは、2つの値を比較すると1.==イコール 1.NaN===NaN=falseNaNと...

Dec 12, 2020 · 1 min. read

== と === JSでは、2つの値が等しいかどうかを比較します。

  • 1.== 等しい
    • 1.NaN==NaN =>false NaNはどの値とも等しくありません。
    • 2.Infinity==Infinity =>true Infinityはそれ自身と等しく、他の値とは等しくありません。
    • Symbol(1) == Symbol(1) =>false
    • 4.Object==Objectはメモリアドレスを比較します。
    • 5. null == undefined => true nullとundefinedは、2つの等号で比較すると等しいですが、3つの等号で比較すると等しくありません。
    • 6. object == string オブジェクトを文字列に変換したもの。
    • 7.上記の規則に加えて、残りの値は数値型に変換され、比較されます。
console.log([10] == '10'); //=>'10'=='10' true
console.log({} == '{}'); //=>'[object Object]'=='{}' false
console.log(1 == true); //=>1==1 true
console.log(2 == true); //=>2==1 false
console.log(-1 == false); //=>-1==0 false
console.log(0 == false); //=>0==0 true
console.log(1 == '1'); //=>1==1 true
console.log(true == '1'); //=>1==1 true 
console.log(false == ''); //=>0==0 true
console.log([] == 0); //=>0==0 true 
  • ==== 絶対等価
  • Object.is
console.log(10 == "10"); //=>TRUE デフォルトでは、まず "10 "を変換する。>10,と比較する。
console.log(10 === "10"); //=>FALSE
 console.log("10" === "10"); //=>TRUE
 isNaN(NaN) == "" 条件が真かどうか
 
=> isNaN(NaN) =>true
=> true=="" 2つの等号を比較すると、デフォルトでデータ型が変換される
=> 1==0 の条件は無効である。
if (isNaN(NaN) == "") {
	console.log("Hello")
} else {
	console.log("Hi") //=>"Hi"
}
Read next

JavaScriptにSymbol型がある理由

自分で作成したシンボルに加えて、5では開発者に公開されていない組み込みシンボルもあります。オブジェクトのデフォルト・イテレータを返すメソッド。オブジェクトのデフォルト・イテレータを返すメソッド。オブジェクトのデフォルト・イテレータを返すメソッド。 オブジェクトのデフォルトの非同期イテレータを返すメソッド。使用対象 ...

Dec 10, 2020 · 2 min read