javascript面试题:Object.freeze() 和 const 的区别是什么?

2020-01-1702:38:57WEB前端开发Comments1,719 views字数 510阅读模式

72. Object.freeze() 和 const 的区别是什么?

constObject.freeze是两个完全不同的概念。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/17747.html

const 声明一个只读的变量,一旦声明,常量的值就不可改变:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/17747.html

const person = {
    name: "Leonardo"
};
let animal = {
    species: "snake"
};
person = animal; // ERROR "person" is read-only    
复制代码

Object.freeze适用于值,更具体地说,适用于对象值,它使对象不可变,即不能更改其属性。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/17747.html

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); 

作者:前端小智
链接:https://juejin.im/post/5e1faa3d51882520a167df0e
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/17747.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/17747.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/gcs/17747.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定