美文网首页
JS的数据类型

JS的数据类型

作者: 张柳哥 | 来源:发表于2018-02-04 22:14 被阅读0次

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

    • 基本类型:UndefinedNullBooleanNumber
    • 引用类型:Object
    • 特殊类型:String
    • 特殊类型: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是一种类似于字符串的数据结构,用于表示独一无二的值。

    相关文章

      网友评论

          本文标题:JS的数据类型

          本文链接:https://www.haomeiwen.com/subject/nqsaoxtx.html