Giải thích sự khác biệt giữa Object.freeze() và const?

{{FormatNumbertoThousand(model.total_like)}} lượt thích
327 lượt xem
Javascript middle

constObject.freeze là hai thứ hoàn toàn khác nhau:

  • const áp dụng cho các ràng buộc ("variables"). Nó tạo ra một ràng buộc bất biến, tức là bạn không thể gán một giá trị mới cho ràng buộc đó.
const person = {
   name: "Leonardo"
};
let animal = {
   species: "snake"
};
person = animal; // ERROR "person" is read-only
  • Object.freeze hoạt động trên các giá trị và cụ thể hơn là các giá trị đối tượng. Nó làm cho một đối tượng trở nên bất biến, tức là bạn không thể thay đổi các thuộc tính của nó.
let person = {
   name: "Leonardo"
};
let animal = {
   species: "snake"
};
Object.freeze(person);
person.name = "Lima"; //TypeError: Cannot assign to read only property 'name' of object
console.log(person);
{{login.error}}