เพื่อ unset ตัวแปรใน JavaScript ใช้ undefined แล้วค่อยใช้ delete operator เพื่อลบออกไปอย่างสมบูรณ์
var str = "Demo Text";
window.onscroll = function() {
var y = this.pageYOffset;
if (y > 200) {
document.write(nxt);
nxt = undefined; // unset
delete(nxt); // ลบตัวแปรอย่างสมบูรณ์
document.write(nxt); // ผลลัพธ์จะเป็น undefined
}
}
⚠️ ข้อควรระวังและวิธีที่ถูกต้อง
deleteใช้สำหรับลบ property ของ object เท่านั้น — ไม่สามารถลบตัวแปรที่ประกาศด้วย var/let/const ได้nxt = undefinedแค่กำหนดค่าเป็น undefined ตัวแปรยังคงอยู่- ใน strict mode
delete variableจะโยนSyntaxError
วิธีที่ถูกต้องสำหรับ "ล้างค่า"
// 1. กำหนดเป็น null (แนะนำสำหรับ object reference)
let obj = { data: 1 };
obj = null; // reference หาย GC จะเก็บ object เดิม
// 2. กำหนดเป็น undefined (primitive)
let value = 42;
value = undefined;
// 3. ลบ property จาก object
const user = { name: "John", age: 30 };
delete user.age; // OK - ลบ property
// delete user; // Error ใน strict mode / ไม่ทำงานกับ var/let/const