Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

Object literals vs constructors ใน JavaScript


ทั้งสัญกรณ์ Object() ใหม่และ Object literal ({}) ทำสิ่งเดียวกัน พวกเขาเริ่มต้นวัตถุ อย่างไรก็ตาม สัญกรณ์ที่สองอาจแตกต่างกันเล็กน้อยหากคุณเริ่มเพิ่มคุณสมบัติเข้าไป ตัวอย่างเช่น

ตัวอย่าง

let a = {
   name: 'Ayush'
}

การเริ่มต้นนี้เทียบเท่ากับ −

let a = new Object();
a.name = 'Ayush'

หรือ

let a = {}
a.name = 'Ayush'

อย่างไรก็ตาม นี่ไม่ใช่กรณีในคลาสที่สืบทอดมา คลาสเหล่านี้มีตัวสร้างแบบกำหนดเองและอาจปรับเปลี่ยนการเรียกใช้ ClassName() ใหม่เป็น dothing ที่เบี่ยงเบนจากโฟลว์ด้านบน ขึ้นอยู่กับดุลยพินิจของโปรแกรมเมอร์โดยสิ้นเชิง