JavaScript Object.preventExtensions()

คำอธิบายและวิธีใช้

Object.preventExtensions() วิธีนี้ใช้เพื่อป้องกันการเพิ่มคุณสมบัติใหม่สู่วัตถุ

คุณสามารถใช้ Object.isExtensible() ใช้ตรวจสอบว่าวัตถุเป็นที่สามารถขยายได้หรือไม่

วิธีที่เกี่ยวข้อง

Object.preventExtensions() อนุญาตให้แก้ไข แต่ป้องกันการเพิ่มคุณสมบัติ

Object.seal() อนุญาตให้แก้ไข แต่ป้องกันการเพิ่มและลบคุณสมบัติ

Object.freeze() หยุดการแก้ไข การเพิ่ม และ การลบคุณสมบัติ

Object.isExtensible() ถ้าวัตถุสามารถขยายได้ ก็จะส่งกลับค่า true

Object.isSealed() ถ้าวัตถุเป็น sealed ก็จะส่งกลับค่า true

Object.isFrozen() ถ้าวัตถุถูกแข็งตัว ก็จะส่งกลับค่า true

ตัวอย่าง

ตัวอย่าง 1

// สร้างวัตถุ
const person = {firstName: "Bill", lastName: "Gates"};
// หยุดการขยาย
Object.preventExtensions(person);
// ในโหมด strict mode นี้จะทิ้งข้อผิดพลาด
person.nationality = "English";

ทดลองด้วยตัวเอง

ตัวอย่าง 2

// สร้างแบบจำลอง
const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.preventExtensions(fruits);
// ในโหมด strict mode นี้จะทิ้งข้อผิดพลาด:
fruits.push("Kiwi");

ทดลองด้วยตัวเอง

รูปแบบ

Object.preventExtensions(object)

ตัวแปร

ตัวแปร รายละเอียด
object จำเป็น วัตถุที่ต้องการหยุดการขยาย

ค่าที่ส่งกลับ

ประเภท รายละเอียด
Object วัตถุที่ถูกแก้ไข

การสนับสนุนโดยบราวเซอร์

Object.preventExtensions() เป็นคุณสมบัติของ ECMAScript5 (ES5)

ตั้งแต่เดือนกรกฎาคม 2013 ต้นนั้น ทุกบราวเซอร์สมัยใหม่ทุกตัวทุกอย่างเพื่อความสมบูรณ์ใน ES5 (JavaScript 2009):

Chrome Edge Firefox Safari Opera
Chrome 23 IE/Edge 11 Firefox 21 Safari 6 Opera 15
กันยายน 2012 กันยายน 2012 เมษายน 2013 กรกฎาคม 2012 กรกฎาคม 2013