Node.js数据类型

作者: yes_heng | 来源:发表于2017-05-03 23:16 被阅读90次

    Data type

    数据类型

    基本数据类型(6种)

    保存在栈内存的简单数据段,访问方式为按值访问。

    • String
    • Number
    • Boolean
    • Null
    • Undefined
    • Symbol(ES6)

    其中null与undefined是特殊的数据类型,Null表示值为空,Undefined表示没有定义;
    Symbol是在ES6新增加的基本数据类型。

    let m = 1;
    
    栈内存
    m 1
    m = 2; // 操作的是变量m中实际保存的值
    
    栈内存
    m 2
    let n = m; // 把m复制到n,栈中创建多一个新的变量n,值为m的值1
    
    栈内存
    m 1
    n 1
    //然后把m的值2赋予n
    m // 1
    n // 2
    
    栈内存
    m 1
    n 2

    引用数据类型

    指保存在堆内存中的对象。访问方式是按引用访问。
    也就是,变量中保存的只是一个指针,这个指针指向内存中的另一个位置,该位置保存着对象。

    • Object
    const Pet = new Object(); // 变量保存的是一个指针,指向堆内存中保存的对象。
    
    栈内存 堆内存
    Pet 引用指针 ---> Object
    // 操作对象时,需要先从栈内存中读取堆内存地址,然后再找到保存在对内存中的值,再操作。
    Pet.name = 'dog';
    
    栈内存 堆内存
    Pet 引用指针 ---> Object{name: 'dog'}
    // 复制操作:复制的是栈内存中的指针,复制的指针与原指针指向同一个堆内存中保存的值。
    const Animal = Pet;
    
    栈内存 堆内存
    Pet 引用指针 ---> Object{name: 'dog'}
    Animal 引用指针
    // 操作的是引用指针指向的Object
    Animal.color = 'red';
    Pet // { name: 'dog', color: 'red' }
    Animal // { name: 'dog', color: 'red' }
    Animal === Pet // true
    
    栈内存 堆内存
    Pet 引用指针 ---> Object{name: 'dog',color:'red'}
    Animal 引用指针

    相关文章

      网友评论

        本文标题:Node.js数据类型

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