关于面试:const-声明对象或者数组可以改变吗

明天逛帖子,忽然遇到这个问题,我第一反馈是不能扭转,如果要扭转,为什么还用const定义,而后在浏览器控制台试试后果。

耶,这是什么操作啊, 而后在时候定义一个根本类型,的确是预料中的后果

那为什么const 定义的对象和数组能够扭转它的值呢?

因为对象和数组是援用类型,a中保留的仅是数组的指针,这就意味着,const仅保障指针不产生扭转,批改数组的值不会扭转对象的指针,所以是被容许的。也就是说const定义的援用类型只有指针不产生扭转,其余的不论如何扭转都是容许的。

咱们试着批改一下指针,让a指向一个新数组,后果如下图:

即便对象的内容没产生扭转,指针扭转也是不容许的。

好了,算爬出了一个坑,记录下

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理