JavaScript引用类型和值类型
引用类型和值类型
JavaScript中你的对象可以分为原始类型和对象类型,也可以分为拥有方法的类型和不能拥有方法的类型,同样可以分为可变(mutable)类型和不可变(immutable)类型,也可以叫作值类型和引用类型。
值类型
可变类型的值是可以修改的.对象和数组属于可变类型,JavaScript程序可以修改对象的属性和数组元素的值.数字、布尔值、字符串、null和undefined属于不可变类型,–比如,修改一个数字的内容,其本身就说不通
引用类型
原始类型(数组、布尔值、字符串、null和undefined)与对象(包括数组和函数)有着根本的区别。原始值是不可修改的:任何方法都无法更改(或“突变”)一个原始值。对于数字和布尔值来说——改变数字的值本身就说不通
- 对于字符串而言,字符串中所有的方法看似是返回了一个修改后的字符串,实际上它返回的是一个新的字符串的值。
在比较的时候里两者的区别
- 值类型
- 只有在它们值相等的时候他们才相等。
- 引用类型
- 即使两个对象包含同样的属性及相同的值,它们也是不相等的,只有它们引用同一个对象的时候,它们才相等。