كيف يتم استخدام Object.freeze() في JavaScript؟

كيف يتم استخدام Object.freeze() في JavaScript؟

في جافاسكريبت، تكون الكائنات والمصفوفات قابلة للتغيير. هذا يعني أننا يمكننا تغيير كائن (أو مصفوفة) في أي وقت نشاء. ولكن إذا كنا لا نريد أن يحدث ذلك لأي سبب من الأسباب ونرغب في جعل الكائن غير قابل للتغيير.


يمكننا القيام بذلك باستخدام freeze() الطريقة.


الكائن الذي تم تجميده باستخدام الطريقة freeze() يصبح غير قابل للتغيير؛ تجميد كائن باستخدام freeze يمنع إضافة خصائص جديدة له، أو إزالة الخصائص الحالية، أو تغيير قابلية عد الخصائص الحالية أو قابليتها للتكوين أو قابليتها للكتابة، أو تغيير قيم الخصائص الحالية. كما أن تجميد كائن يمنع تغيير بروتوكوله.


يمكنني إضافة مثال كود عن استخدام هذه الطريقة؛
const obj = {
    name: "Jack"
};

Object.freeze(obj);

obj.name = "Kelly";
// يلقي خطأ في وضع صارم

console.log(obj.name);
// الناتج المتوقع: "Jack"