JavaScript'te Object.freeze() nasıl kullanılır?

JavaScript'te nesneler ve diziler değişkendir. Bu, istediğimiz zaman bir nesneyi (veya diziyi) değiştirebileceğimiz anlamına gelir. Ama herhangi bir nedenle bunun olmasını istemiyorsak ve nesneyi değişmez kılmak istiyorsak.


Bunu freeze() yöntemini kullanarak yapabiliriz.


freeze() yöntemi ile dondurduğunuz bir nesne artık değiştirilemez olur; bir nesneyi freeze ile dondurmak, ona yeni özelliklerin eklenmesini, mevcut özelliklerin kaldırılmasını, mevcut özelliklerin numaralandırılabilirliğini, yapılandırılabilirliğini veya yazılabilirliğini değiştirmeyi ve mevcut özelliklerin değerlerinin değiştirilmesini engeller. Ayrıca bir nesnenin dondurulması, prototipinin değiştirilmesini de engeller.


Bu yöntemin kullanımına ilişkin şöyle bir örnek kod ekleyebilirim;
const obj = {
    name: "Jack"
};

Object.freeze(obj);

obj.name = "Kelly";
// Throws an error in strict mode

console.log(obj.name);
// expected output: "Jack"