簡體   English   中英

JavaScript如何將數字與字符串進行比較?

[英]How does JavaScript compare a number to a string?

我知道===的含義:它將檢查操作數是否相同,因此

  • 1 === '1'將給出false
  • 1 == '1'將給出true

但是typeof 1numbertypeof '1'string ,那么JavaScript如何比較1 == '1' 是否有任何轉換發生? 如果是這樣,哪個?

如果類型是數字和字符串,

JavaScript會將字符串轉換為數字。

在帶注釋的ECMAScript 5.1中

比較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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM