簡體   English   中英

為什么選擇javascript console.log(1 +“” + 3); 句子返回4而不是“ 1 3”?

[英]Why javascript console.log(1 + + “ ” + 3); sentence returns 4 and not “1 3”?

當語句console.log(1 + + " " + 3); 在Chrome控制台中執行,結果是4而不是我期望的"1 3"

有人可以解釋為什么會這樣嗎?

這種行為稱為強制

在這種情況下, 一元加運算符+轉換為右邊的表達式編號。 如果它不能解析特定值,則它將評估為NaN

+ " " //--> is coerced to 0

您可以在此要點中看到一些強制示例: JavaScript Coercion

如果您只是簡單地將問題分解成幾個組成部分,然后在控制台中鍵入+" " ,那么您會發現它的值為0 1+3+04

評估語句時,將執行以下操作:

1 // one
+ // add
+ " " // implicitly convert " " to a number (0)
+ // add
3 // three

所以基本上是1 + 0 + 3 沒有字符串可以輸入此計算。 事先已將其轉換為數字。

在這種情況下, +運算符是一元 + (請參閱“強制”)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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