การใช้ new เพื่อสร้างอินสแตนซ์จาก Constructor Function
คีย์เวิร์ด new ใช้สร้างออบเจกต์ใหม่จากฟังก์ชันคอนสตรัคเตอร์ และ this จะชี้ไปที่อินสแตนซ์ใหม่นั้น
ตัวอย่างโค้ด
function newObjectCreation() {
this.firstName = "John";
}
var newObject = new newObjectCreation();
newObject.firstName = "David"; // เปลี่ยนค่า property
console.log("The first name = " + newObject.firstName); // David
วิธีรัน
node fileName.js
ผลลัพธ์
The first name = David
คำอธิบาย
newสร้างออบเจกต์ว่าง ผูกthisไปที่ออบเจกต์นั้น เรียกฟังก์ชันคอนสตรัคเตอร์ และคืนค่าออบเจกต์ (ถ้าไม่มี return อื่น)- เข้าถึง property ด้วย dot notation:
object.property - สามารถเพิ่ม/แก้ไข/ลบ property ได้ทุกเมื่อ
รูปแบบ Class (ES6+)
class Person {
constructor(name) {
this.firstName = name;
}
}
const person = new Person("John");
console.log(person.firstName); // John