JavaScript Object.freeze()

အသုံးပြုခြင်း နှင့် အသုံးပြုခြင်း

Object.freeze() အရာဝတ္တံ့ အခြေအနေကို ပြင်ဆင်ခြင်း မပြုရသေးသည် ကို ကာကွယ်ရန် သုံးပြုသည်

ကျယ်ပြန့်သော အခြေအနေအောက်တွင်Object.freeze() ဘက်တူရှိသည် အနှောက်ချခြင်း ဖြစ်ပါသည်

ကျယ်ပြန့်သော အခြေအနေအောက်တွင်Object.freeze() ဘက်တူရှိသည် ပေါ်ပေါက်ပါသည်

ချွတ်လွတ်သော အရာဝတ္တံ့ အသုံးချခြင်း ဖြစ်သည်။ ပြင်ဆင်၊ ထပ်ပေါင်းခြင်း သို့မဟုတ် ဖျက်သိမ်းခြင်း မပြုရ။

အသုံးပြုနိုင် 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 年 7 月起,所有现代浏览器均完全支持 ES5(JavaScript 2009):

Chrome Edge Firefox Safari Opera
Chrome 23 IE/Edge 11 Firefox 21 Safari 6 Opera 15
2012 年 9 月 2012 年 9 月 2013 年 4 月 2012 年 7 月 2013 年 7 月