JS的数据类型

2018-02-04  本文已影响0人  张柳哥

JS中最初有:UndefinedNullBooleanNumberStringObject六种数据类型,后来在es6规范中又添加了Symbol类型,所有目前有其中数据类型,这七种类型又可以分为四类:

这几种类型有什么区别

基本类型在内存中拥有固定的大小,比如Number的大小统一为8个字节的浮点数,整数部分的精确范围是正负2的53次方,超过这个范围的,js将无法精确的表示,这也导致js不太适合科学和金融方面的计算。

引用类型的大小不定,并且引用类型的值是可以变的(你可以为对象添加/修改属性等)。

String之所以特殊,是因为它的长度不固定(可以构建任意长度的字符串),但是,又无法修改字符串的值

let str1 = 'hello'

// 这里实际上是构建了一个新的字符串'hello world', 而不是修改了'hello'
str1 = 'hello world' 

所以String可以说是与基本类型相似的不可变的引用类型。

Symbol的实例不是对象:

const s = Symbol()
typeof s // 打印出symbol,说明不是对象

Symbol是一种类似于字符串的数据结构,用于表示独一无二的值。

上一篇 下一篇

猜你喜欢

热点阅读