数据类型区分和数据类型检测
基本数据类型和引用数据类型的区别:
- 基本数据类型是把值直接的给变量,接下来在操作的过程中,直接拿这个值操作,可能两个变量存储的值一样,但是没有关系,其中一个改变,另外一个没有任何影响
- 引用数据类型:定义一个变量 —> 开辟一个新的空间,然后把属性名和属性值保存在这个空间中,并且有一个空间地址 —> 把空间的地址给了这个变量,变量并没有存储这个数值,存储的是对这个空间的引用地址 —> 接下来这个地址又告诉了另外一个变量,存储的也是这个地址,此时两个变量操作的是同一个空间 —> 其中一个改变了空间的内容,另外一个也跟着改变了
- 基本数据类型操作的是值,而引用数据类型操作的是对新空间的引用地址
js中检测数据类型的方式(共四种):
- typeof运算符:用来检测数据类型
–console.log(typeof "abc"); //string
– 用法:typeof 要检测的值
– 返回值:一个字符串,包含了数据类型字符(“number”、”string”、”boolean”、”undefined”、”object”、”function”)
– typeof null的结果是object
– 局限性:不能具体检查object下细分的类型,检查这些返回的都是“object” - Object.prototype.toString.call()
- constructor