解開JavaScript 謎題:破解" [[]][ []] [ []]"
在JavaScript 中,表達式" [[]][ []] [ []]」乍看之下可能令人困惑,但仔細檢查會發現最終返回字串的一系列操作"10."
分解這個表達式,我們有:
讓我們來剖析逐步表達:
1. []:
在JavaScript 中,[] 將空數組[] 強制轉換為數字,結果為0。這是由於一元運算子的行為所致,它將其運算元轉換為Number 類型.
2. [[]][ []]:
此表達式傳回外部數組[[]] 的內部數組([])。
3. [[]][ []]:
運算子將其運算元的值加一。因此,此操作會增加內部陣列 ([)]),這是一個假值。在 JavaScript 中增加假值會回傳 1.
4。 [ []]:
與 [] 類似,此表達式將空數組 [] 強制轉換為數字,結果再次為 0。
5。 1 0:
現在我們有兩個數字要相加:1 來自遞增的內部數組,0 來自第二個空數組強制。結果是 1.
6。 1 [0]:
有趣的是,在 JavaScript 中,[0] 為真,計算結果為字串「0」。連接字串和數字時,JavaScript 會將數字強制轉換為字串。因此,此操作得到“10”。
因此,看似神秘的表達式「[[]][ []] [ []]」分解為一系列型別轉換和串聯,最終傳回字串「 10.」
以上是為什麼 JavaScript 中「[[]][ []] [ []]」的計算結果為「10」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!