我只是在阅读David Flanagan的 JavaScript:权威指南。我真的很喜欢,我很高兴我的第一本 Javascript 书就是这本。:)
但是,我无法理解这一段(3.7 Immutable Primitive Values and Mutable Object References):
undefined
JavaScript 中的原始值( 、null
、布尔值、数字和字符串)和对象(包括数组和函数)之间存在根本区别。原语是不可变的:没有办法改变(或“变异”)原语值。这对于数字和布尔值是显而易见的——<strong>改变数字的值甚至没有意义。然而,对于字符串来说,它并不那么明显。由于字符串类似于字符数组,因此您可能希望能够更改任何指定索引处的字符。
可能由于我缺乏CS背景(自学和所有......),我只是错过了一些东西,但是有人可以帮我解释一下吗?
特别是我强调的部分:为什么改变数字的值没有意义?
到目前为止我的想法:
- 也许他正在严格区分(在其他语言中可以称为)“变量”和“值”的概念。那么好吧,将 3 的值更改为 4 的值确实没有意义(这样
3 == 4
),但是下一句这样的解释失败了:这样的操作对字符串比对数字更有意义......?