zoukankan      html  css  js  c++  java
  • const定义的对象属性是否可以改变------是!


    用const声明person对象,给age重新赋值是没问题的
    但是重新给person赋值是不可以的

    这里需要了解‘基本数据类型’和‘引用数据类型’

    基本数据类型:string, number, boolean, null, undefined。

    • 基本数据类型的变量是保存在栈区中的,基本数据类型的值直接在栈内存中存储,值与值之间是独立存在的,修改一个变量不会影响其他的变量。

    引用类型:object

    • 引用数据类型的值是同时保存在栈内存和堆内存的对象,栈区保存了对象在堆区的地址,如下(网图)
      套用别人的图
    1. const声明的只是栈区内容不变,基本数据类型保存在栈区中不可改变;引用数据类型在栈区保存的地址不可改变。
    2. 所以const声明的person给属性重新赋值是可以的,但是给person重新赋值是不可以的,那样会改变person在栈区的地址。

    考点:数据类型,栈区,堆区

  • 相关阅读:
    2016/3/10 Java 错题
    2016/3/9 Java 错题集
    Java Socket 编程实验总结
    CSU 1290
    CSU 1307
    CSU 1060
    Problem B SPOJ DCEPC11I
    activemq 学习系列(二) 常用配置
    activemq 学习系列(一) 详细入门使用
    MySql 用户创建与授权
  • 原文地址:https://www.cnblogs.com/facy/p/13161732.html
Copyright © 2011-2022 走看看