JavaScript Object.freeze()

تعریف و استفاده:

Object.freeze() روش برای جلوگیری از هرگونه تغییر در شیء استفاده می‌شود.

در حالت غیر سخت‌گیرانه،Object.freeze() روش به طور بی‌صدا شکست خواهد خورد.

در حالت سخت‌گیرانه،Object.freeze() روش باعث بروز خطای TypeError می‌شود.

شیء‌های فریز شده فقط خوانا هستند. اجازه به تغییر، اضافه کردن یا حذف ویژگی‌ها داده نمی‌شود.

می‌توان از Object.isFrozen() روشی برای بررسی اینکه آیا یک شیء فریز شده است یا خیر.

روش‌های مرتبط:

Object.preventExtensions() اجازه به تغییر داده می‌شود، اما اضافه کردن ویژگی‌ها را ممنوع می‌کند.

Object.seal() اجازه می‌دهد که تغییر کند، اما از اضافه کردن و حذف ویژگی‌ها جلوگیری می‌کند.

Object.freeze() از تغییر، اضافه کردن و حذف ویژگی‌ها جلوگیری می‌کند.

Object.isExtensible() اگر موضوع قابل توسعه باشد، true را برمی‌گرداند.

Object.isSealed() اگر موضوع بسته شده باشد، true را برمی‌گرداند.

Object.isFrozen() اگر موضوع فریز شده باشد، true را برمی‌گرداند.

مثال

مثال 1

"use strict"
// ایجاد موضوع
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50,
  eyeColor: "blue"
};
// موضوع فریز شده
Object.freeze(person);
// این خطا را خواهد انداخت
person.age = 51;

آزمایش کنید

مثال 2

const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.freeze(fruits);
// این خطا را خواهد انداخت:
fruits.push("Kiwi");

آزمایش کنید

نحوه‌ی نوشتن

Object.freeze(object)

پارامتر

پارامتر توضیح
object لازم است. موضوعی که باید فریز شود.

مقدار بازگشتی

نوع توضیح
Object موضوع فریز شده.

پشتیبانی مرورگر

Object.freeze() این ویژگی‌ها از ECMAScript5 (ES5) است.

از جولای 2013 به بعد، همه‌ی مرورگرهای مدرن به طور کامل از ES5 (JavaScript 2009) پشتیبانی می‌کنند:

Chrome Edge Firefox Safari Opera
Chrome 23 IE/Edge 11 Firefox 21 Safari 6 Opera 15
سپتامبر 2012 سپتامبر 2012 آوریل 2013 جولای 2012 جولای 2013