當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Javascript Object.isFrozen( )用法及代碼示例


JavaScript中的對象和對象構造函數?
在麵向對象的編程中,定義對象的方式在許多情況下是受限製的。要創建可以多次使用的對象“type”,而不必每次都重新定義對象以滿足每個特定實例的需要,標準方法是使用對象構造函數。
對象構造函數隻是常規的JavaScript函數,通常具有同樣強大的函數,即定義參數,調用其他函數等。對象構造函數為對象而非對象本身創建藍圖。
讓我們以real-world項目“dog”為例。狗的屬性可以是其顏色或名稱,方法可以是“bark”。這裏要注意的重要一點是,每隻狗的名字或樹皮類型都不同。為了創建滿足這種靈活性需求的對象類型,我們使用對象構造函數。因此,狗將成為對象構造函數,並使用“this”關鍵字在其內部聲明其屬性(顏色,名稱)和方法(樹皮噪聲)。然後使用new關鍵字實例化使用對象構造函數定義的對象。
這有助於輕鬆定義dog(一個對象構造函數)的多個實例,每個實例都有自己的名稱-這就是對象構造函數為自定義對象帶來的靈活性。

Object.isFrozen()方法
在Object構造函數方法中,有一個Object.isFrozen()方法,該方法用於確定對象是否凍結。

如果滿足以下所有條件,則凍結對象:


  1. 如果不能擴展。
  2. 如果其所有屬性都是不可配置的。
  3. 如果其所有數據屬性均為不可寫。

Object.isFrozen()將對象作為必須檢查的參數,並返回一個布爾值,表示對象是否凍結。

應用範圍:

  • Object.isfrozen()用於檢查對象是否凍結。

用法:

Object.isFrozen(obj)

使用的參數:

  1. obj:這是必須檢查的對象。

返回值:
Object.isFrozen()返回一個布爾值,表示對象是否凍結。

下麵提供上述函數的示例。

例子:


Input : const object = {
        property: 'hi geeksforgeeks'
        };
        console.log(Object.isFrozen(object));
Output : false

Input : const object = {
        property: 'hi geeksforgeeks'
        };
        Object.freeze(object);
        console.log(Object.isFrozen(object));
Output : true

下麵提供了上述函數的代碼。

代碼1:

<script> 
  
<!-- creating an object constructor and assigning values to it -->
const object = { 
property: 'hi geeksforgeeks' 
}; 
  
<!-- checking whether the object is frozen or not -->
console.log(Object.isFrozen(object)); 
  
</script>

輸出:

false

代碼2:

<script> 
  
<!-- creating an object constructor and assigning values to it -->
const object = { 
property: 'hi geeksforgeeks' 
}; 
  
<!-- Using freeze() method to freeze the object -->
Object.freeze(object); 
  
<!-- checking whether the object is frozen or not -->
console.log(Object.isFrozen(object)); 
  
</script>

輸出:

true

異常:

  • 如果傳遞的參數不是對象,則會導致TypeError。



注:本文由純淨天空篩選整理自Shubrodeep Banerjee大神的英文原創作品 Object.isFrozen() In JavaScript。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。