Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธี unset (ล้างค่า) ตัวแปร JavaScript

เพื่อ 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