ใน JavaScript คุณสามารถใช้ตัวดำเนินการลบเพื่อลบคุณสมบัติในวัตถุ:
การคัดลอกรหัสมีดังนี้:
var t = {a: 42, b: 26};
console.log (t); // วัตถุ {a = 42, b = 26}
ลบ TA;
console.log (t); // object {b = 26}
ข้อ จำกัด ของการดำเนินการลบคุณสมบัตินี้คือตัวดำเนินการลบสามารถลบคุณสมบัติทั้งหมดของวัตถุเองเท่านั้นและไม่สามารถลบคุณสมบัติที่สืบทอดมาจากวัตถุต้นแบบ หากคุณต้องการลบคุณสมบัติในวัตถุต้นแบบคุณต้องรับวัตถุต้นแบบอย่างชัดเจนและดำเนินการในวัตถุต้นแบบ:
การคัดลอกรหัสมีดังนี้:
var o = {x: 1, y: 2};
var a = object.create (o);
AZ = 3;
console.log (a); // object {z = 3, x = 1, y = 2}
ลบขวาน; // ไม่สามารถลบคุณสมบัติที่สืบทอดมาได้
console.log (a); // object {z = 3, x = 1, y = 2}
ลบ az; // สามารถลบทรัพย์สินของตัวเองได้
console.log (a); // object {x = 1, y = 2}
ลบ A.__ Proto __. x;
console.log (a); // object {y = 2}
หากคุณสมบัติในวัตถุต้นแบบถูกลบวัตถุทั้งหมดที่สืบทอดมาจากวัตถุต้นแบบจะได้รับผลกระทบ
สำหรับค่าส่งคืนของการดำเนินการลบ JavaScript เป็นไปตามกฎต่อไปนี้:
1. หากการดำเนินการลบสำเร็จให้กลับมาเป็นจริง
2. หากการดำเนินการลบไม่มีผล (ตัวอย่างเช่นคุณสมบัติที่จะลบไม่มีอยู่) มันจะกลับมาจริงด้วย
3. หากคุณสมบัติที่คุณต้องการลบมีคุณสมบัติที่กำหนดค่าได้ของ FALSE ข้อผิดพลาด TypeError จะถูกรายงานในโหมดที่เข้มงวดและ False จะถูกส่งคืนในโหมดที่ไม่ใช่ Strict
หากตัวดำเนินการลบทำหน้าที่เป็นคุณสมบัติของวัตถุทั่วโลกดังนั้นในโหมดที่ไม่ได้ใช้งานวัตถุส่วนกลางในรหัสสามารถละเว้นได้:
การคัดลอกรหัสมีดังนี้:
this.c = 42;
ลบ C; // เท่ากับลบ this.c;
ควรสังเกตว่าในโหมดที่เข้มงวดวิธีการเขียนข้างต้นจะส่งข้อผิดพลาด syntaxerror