自分が理解してるのが正しいか確認させてください。
https://qiita.com/PianoScoreJP/items/e43d70ec188c6fed73ed
の記事を見ると
等価演算子(==)は
数値と文字列を比較するとき、文字列は数値に変換されます。JavaScript は文字列の数値リテラルを > Number 型の数値に変換しようと試みます
のようです
というのは
null == undefined
が
Number(null) == Number(undefined)
と変換される意味でしょうか?
だとしたら疑問なのが
console.log(null == undefined); //true
はtrueになりますが、
Number(null) -> 0 Number(undefined) -> NaN Number(undefined) == Number(null) false
はfalseになることです。
なにか認識違ってるのがありましたら教えていただけますでしょうか。
そもそも、nullと、undefinedは文字列ではありません。
ので、今回の文字列の数値リテラルを〜の引用には該当しません。
Number(null)と、Number(undefined)自体を、コンソールで見てみてみた質問後半の結果が全てです。
まったく違う値だからです。
nullと、undefinedでも、
===の厳密等価だと、falseが返りませんか??
回答3件
あなたの回答
tips
プレビュー