理解JavaScript不可变变量
我正在努力理解JavaScript中什么是不可变变量。如果我可以这样做:
var x = "astring";
x = "str";
console.log(x); //打印 str` ,那为什么它是不可变的?
我能想到的唯一答案(根据我所了解的一点C语言)是var x是指向一个内存块的指针,该内存块的值为"astring",在第二个语句之后,它指向另一个值为"str"的块。是这样吗?
还有一个额外的问题:我对JavaScript的值类型感到困惑。所有变量都是对象吗?包括数字和字符串吗?