ฉันเพิ่งได้ยินเกี่ยวกับวิธีการของ JavaScript freeze
และseal
สามารถใช้เพื่อทำให้ Object ใด ๆ ไม่เปลี่ยนรูปได้
นี่คือตัวอย่างสั้น ๆ วิธีใช้:
var o1 = {}, o2 = {};
Object.freeze(o2);
o1["a"] = "worked";
o2["a"] = "worked";
alert(o1["a"]); //prints "worked"
alert(o2["a"]); //prints "undefined"
ความแตกต่างระหว่างfreeze
และseal
คืออะไร? พวกเขาสามารถเพิ่มประสิทธิภาพได้หรือไม่?
Object.preventExtensions
นอกเหนือไปและObject.seal
เพียงป้องกันไม่ให้มีการเพิ่มรายการใหม่ลงในวัตถุ คุณสามารถลบกำหนดค่าและเปลี่ยนค่าของคุณสมบัติบนวัตถุที่ปิดใช้งานการขยายได้ Object.freeze
Object.preventExtensions
Object.preventExtensions