不可变的原始值和可变的对象引用

原始值

JavaScript 中的原始值是不可更改的,它们有:undefined,null,布尔值,数字和字符串。
例如:字符串中所有的方法看上去返回了一个修改后的字符串,实际上返回的是一个新的字符串值。

var s = 'hello';                
s.toUpperCase();          // 返回 'HELLO',但并没有改变 s 的值
s                         // => 'hello':原始字符串的值并未改变

对象

对象和原始值不同,它们是可变的,它们的值是可修改的

var o = {x:1};
o.x = 2;

对象的比较并非值的比较,而是引用的比较:当且仅当它们引用同一个基对象时,它们才相等。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。