มีสองวิธีในการสร้างวัตถุว่างใน JavaScript:
var objectA = {}
var objectB = new Object()
มีความแตกต่างในวิธีการที่โปรแกรมสคริปต์จัดการกับพวกเขา? มีเหตุผลที่จะใช้อย่างใดอย่างหนึ่งมากกว่าที่อื่น ๆ ?
ในทำนองเดียวกันก็เป็นไปได้ที่จะสร้างอาร์เรย์ว่างโดยใช้ไวยากรณ์ที่แตกต่างกัน:
var arrayA = []
var arrayB = new Array()
var objectA = {} var objectB = new Object()
มีการสร้างที่สามซึ่งจะให้ผลลัพธ์เดียวกัน:var objectC = Object.create(Object.prototype);
{}
และ[]
ใช้แทน{}
new Object()
ใช้แทน[]
new Array()
ใช้อาร์เรย์เมื่อชื่อสมาชิกจะเป็นจำนวนเต็มตามลำดับ ใช้วัตถุเมื่อชื่อสมาชิกเป็นสตริงหรือชื่อโดยพลการ แหล่งที่มา
new Object()
และ{}
ไม่ใช่วัตถุที่ว่างเปล่า แต่เป็นวัตถุที่มี Object.prototype คุณสามารถใช้Object.create(null)
สำหรับวัตถุที่ว่างเปล่าอย่างแท้จริง (อย่างน้อยตามเอกสาร mozilla: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/