const和Object.freeze()的区别

const用于定义常量,如果去修改这个常量,会报错:TypeError: Assignment to constant variable

const如果定义了引用类型数据,那么它只是规定该变量的引用不可修改,值是可以修改的:

Object.freeze()可以阻止修改对象的值,但是不能阻止引用的修改:

以上:

  1、const不能改变对象或数组的引用,但可以改变它的值

  2、Object.freeze()可以修改对象或数组的引用

 

将const和Object.freeze()组合使用,可以防止更改对象或数组的值:

总结:const定义的变量值可以任意修改,但是引用不能修改,而Object.freeze()定义的对象或数组,它的值将被冻结不可修改,但是它的引用可以修改,组合使用,引用和值都不能修改

 

posted @ 2020-11-19 09:53  吴小明-  阅读(155)  评论(0编辑  收藏  举报