ใช้ Number() แปลง Empty Array [] เป็น Number จะได้ 0
ตัวอย่างโค้ด
<!DOCTYPE html>
<html>
<body>
<p>Convert [] to Number</p>
<script>
var myVal = [];
document.write("Number: " + Number(myVal)); // ผลลัพธ์: 0
</script>
</body>
</html>
Type Conversion Table: [] (Empty Array)
| Method | Result | Type |
|---|---|---|
Number([]) | 0 | Number |
String([]) | "" (Empty String) | String |
Boolean([]) | true | Boolean |
+[] | 0 | Number (Unary +) |
[] + [] | "" | String (Concat) |
[] == 0 | true | Loose Equality |
[] == "" | true | Loose Equality |
[] === 0 | false | Strict Equality |
คำอธิบาย Mechanism (ToPrimitive)
Number([])→ เรียก[].valueOf()→ คืน Array (Object) → เรียก[].toString()→""→Number("")→ 0String([])→[].toString()→""Boolean([])→ Object → true (All Objects are Truthy)
Non-Empty Array
| Array | Number() | String() | Boolean() |
|---|---|---|---|
[5] | 5 | "5" | true |
[1,2] | NaN | "1,2" | true |
["hello"] | NaN | "hello" | true |
สรุป: Empty Array → Number: 0, String: "", Boolean: true — ใช้ === และ Array.isArray() เช็คแทน Loose Equality