变量类型

2023-11-08 14:19:00

变量类型

JavaScript变量类型有6种(新增加的Symbol、BigInt,八种),又将分为两大类:基础数据类型和引用数据类型。

1. 基础数据类型

  • null:空对象
  • undefined:未定义
  • number:数字
  • boolean:布尔类型 true/false
  • string: 字符串

2. 引用数据类型

  • object: 对象

区别:

  1. 存放位置:简单数据类型存放在栈中,复杂数据类型存放在堆中

    栈:容量小、运行速度快、先进后出

    堆:容量大、运行速度慢、先进先出

  2. 简单数据类型的变量是真真实实的数据值,而承载复杂数据类型的变量是变量指针,指向堆中存放的复杂数据。

    当我们将一个简单数据赋值给另一个变量时,其实是相当于copy了一份数据给赋值的变量。去修改a时,不影响b,b还是赋值的值。

    例如:

    let a = "a";
    const b = a; // 相当于:const b = "a";
    a = "b";
    console.log(b); // 输出:a
    

    当我们将一个引用数据类型赋值给另一个变量时,其实是赋值的是一个指针(指向堆内存中的数据的一个指针),此时两个变量都是指向堆内存数据的指针,当我们修改变量时(这边的改变变量指的是给对象添加属性),其实改变的堆内存中数据,那么相应的另一变量也能访问到新添加的属性。

    const a = { name: "xiaoli" };
    const b = a;
    a.age = 18;
    console.log(b.age); // 输出:18
    

目录

相关推荐
变量类型判断声明和定义区别如何使用变量undefined和null区别