Object.freeze() 方法

在這篇文章中,我們將介紹 JavaScript 中 Object 物件的 freeze() 方法。 JavaScript 的 Object.freeze() 方法接受一個物件作為參數,並返回相同的物件。傳遞給該方法的物件會被改變,並變成不可變的物件。新的屬性無法添加,現有的屬性無法被刪除或更改。 示例: const dog = {} dog.breed = 'Siberian Husky' const myDog = Object.freeze(dog) Object.isFrozen(dog) //true Object.isFrozen(myDog) //true dog === myDog //true dog.name = 'Roger' //TypeError: Cannot add property name, object is not extensible 在這個示例中,dog 和 myDog 都被凍結了。傳遞給 Object.freeze() 的參數被改變後無法恢復。同時,該方法也返回相同的物件,因此 dog === myDog (它們是同一個物件)。 調用 Object.freeze() 方法等同於調用 Object.preventExtensions() 方法,用於防止物件添加更多屬性,並且將所有屬性設置為不可配置和不可寫。