问:vue3.0 中const定义的变量的值为什么可以改变?

setup () {


 const register = ref(false);

// 切换登录、注册状态
        const choose = (data => {
            if (data.state === 'login'){
                register.value = false;
            }else {
                register.value = true;   // 这里为什么可以重新赋值
          }
}

const register = ref(false);
用const 声明的变量,只是不能对变量本身重新赋值
你register是个对象。
register.value = false;是改变对象的属性的值。
register变量本身的值没有改变,还是这个对象。

const定义的基本类型不能改变,但是定义的对象是可以通过修改对象属性等方法来改变的。

你的值是引用类型,相当于你的变量是一个指针指向对象的位置,改变对象里面的属性,并不影响变量指向他