の意味を知って===
います。オペランドが同一かどうかをチェックします。
1 === '1'
与えるfalse
し、1 == '1'
を与えますtrue
、
しかしtypeof 1
isnumber
とtypeof '1'
isstring
では、JavaScript はどうやって を比較するの1 == '1'
でしょうか? コンバージョンは発生していますか?もしそうなら、どれですか?
の意味を知って===
います。オペランドが同一かどうかをチェックします。
1 === '1'
与えるfalse
し、1 == '1'
を与えますtrue
、しかしtypeof 1
isnumber
とtypeof '1'
isstring
では、JavaScript はどうやって を比較するの1 == '1'
でしょうか? コンバージョンは発生していますか?もしそうなら、どれですか?
型が数値と文字列の場合、
JavaScript は文字列を数値に変換します。
x と y が値である比較 x == y は、true または false を生成します。このような比較は、次のように実行されます。
...
5. Type(x) が Number で Type(y) が String の場合、比較 x == ToNumber(y) の結果を返します。6. Type(x) が String で Type(y) が Number の場合、比較 ToNumber(x) == y の結果を返します。
1 == parseInt("1")
文字列を整数に解析することができます。
String() を使用する
比較を行う前に、入力を文字列に変換します。
例:
var test1= 1;
var test2= "1";
var answer = String(test1) === String(test2);
この場合、答えは真になります。