浅析JavaScript基本类型与引用类型
对于JavaScript类型,可以简单地概括为:相对于强类型语言来说,它是弱(松散)类型的语言;有基本类型和引用类型,他们是区别是一个有固定空间存在于栈内存中,一个没有固定空间保存在堆内存中并且在栈内存中保存了一个指向实现位置的指针。
市面上很多书都有不小的篇幅在讲。这篇文章会讲几个方面,这些方面可能会需要你对JavaScript已经有了一些简单的了解,特别是JavaScript的类型。如果还不一解,可以随手拿起一本关于JavaScript的书翻翻,再来看本文。
一、基本类型与引用类型
1.基本类型:Undefined/Null/Boolean/Number/String
2.引用类型:Object/Array/Function/Date/RegExp/Error/Map/Set…
为什么引用类型没有枚举完呢,因为这里面你了解这么多就够了,至少在我讲的这篇中这些已经足够。其他的可能很少会用到,甚至像Map、Set这样的也不是所有浏览器都支持。
二、JavaScript类型的判断
在JavaScript有两个operator可以用以判断类型。他们是typeof和instanceof,不过圈子很小,它们混的可不是那么好,是出了名的不靠谱。少数情况也是对的,很多情况下是不靠谱的。看看就知道了:
//靠谱的时候: typeof'sofish'//string newString('sofish')instanceofString//true
//不靠谱的时候: typeof[]//object typeofnull//object 'sofish'instanceofString//false