[英]How does JavaScript compare a number to a string?
我知道===
的含義:它將檢查操作數是否相同,因此
1 === '1'
將給出false
和 1 == '1'
將給出true
, 但是typeof 1
是number
而typeof '1'
是string
,那么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);
在這種情況下,答案將為真。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.