คำตอบสั้น
String([]) คืนค่า "" (สตริงว่าง)
เหตุผลและรายละเอียด
เมื่อใช้ String() หรือ .toString() กับอาร์เรย์ JavaScript จะทำการแปลงโดยเรียก Array.prototype.join() โดยไม่ระบุตัวคั่น (default เป็น comma) ดังนั้น:
[](อาร์เรย์ว่าง) →""(ไม่มีสมาชิก จึงไม่มีอะไรต่อกัน)[1,2,3]→"1,2,3"["a","b"]→"a,b"
ตัวอย่างโค้ด
<!DOCTYPE html>
<html>
<body>
<p>แปลง [] เป็น String</p>
<script>
var emptyArr = [];
var result = String(emptyArr);
document.write('String([]) = "' + result + '"'); // ""
document.write("<br>ความยาว: " + result.length); // 0
// เปรียบเทียบกับอาร์เรย์ที่มีค่า
document.write("<br><br>String([1,2]) = " + String([1,2])); // "1,2"
document.write("<br>String(['a']) = " + String(['a'])); // "a"
</script>
</body>
</html>
การแปลงแบบ Implicit (อัตโนมัติ)
JavaScript แปลงอาร์เรย์เป็นสตริงอัตโนมัติในบริบทบางอย่าง:
[] + "" // "" (สตริงว่าง) [] + "hello" // "hello" [1,2] + [3,4] // "1,23,4" (แปลงทั้งคู่เป็นสตริงก่อนแล้วต่อกัน)
สรุป
| อาร์เรย์ | String() |
|---|---|
[] | "" |
[50,100] | "50,100" |
["a","b"] | "a,b" |