当我们编写JavaScript代码时,我们需要了解JavaScript的基本数据类型及值类型和引用类型。
JavaScript基本数据类型
JavaScript基本数据类型包括数字、字符串、布尔值、null、undefined和Symbol(ES6中新增)。它们是不可改变的,也就是说,一旦创建,我们无法对它们进行修改。
数字
JavaScript中的数字可以是整数或者小数。例如,2和2.5都是数字。我们可以使用算术运算符如加减乘除来对数字进行操作。
示例:
let a = 2;
let b = 2.5;
let sum = a + b;
console.log(sum); // 输出4.5
字符串
JavaScript中的字符串是用单引号或双引号括起来的一串字符。例如,“hello world”就是一个字符串。我们可以使用加号将字符串连接起来。
示例:
let str1 = "hello";
let str2 = "world";
let str = str1 + " " + str2;
console.log(str); // 输出 hello world
布尔值
JavaScript中的布尔值只有两个取值:true和false。它们用于表示逻辑上的真和假。我们可以使用逻辑运算符如&&、||和!来进行逻辑操作。
示例:
let x = 2;
let y = 3;
let z = (x < y);
console.log(z); // 输出 true
null和undefined
null表示一个空值,表示变量没有值。undefined表示一个未定义的值,表示变量未经初始化。它们通常用于表示在程序中没有找到所需的值。
示例:
let a = null;
let b;
console.log(a); // 输出 null
console.log(b); // 输出 undefined
Symbol
Symbol是ES6中新增的数据类型,它是一种唯一的、不可变的值,通常用于对象属性的标识符。
示例:
let s = Symbol("foo");
console.log(s); // 输出 Symbol(foo)
值类型和引用类型
除了基本数据类型,JavaScript还有引用类型。引用类型是存储在堆内存中的对象,而基本数据类型则是存储在栈内存中的简单数据值。基本数据类型的值是按值访问的,而引用类型的值是按引用访问的。
值类型
值类型包括数字、字符串、布尔值、null和undefined。当我们创建一个值类型的变量时,系统就会在栈内存中为它分配一个固定大小的空间。
示例:
let a = 2;
let b = a;
a = 3;
console.log(a); // 输出 3
console.log(b); // 输出 2
上述代码中,a和b都是基本数据类型的变量。在将a的值赋给b后,a和b拥有了各自的独立空间,因此变量a的修改不会影响到变量b。
引用类型
引用类型包括对象、数组和函数。当我们创建一个引用类型的变量时,系统会先在栈内存中为它分配一个空间,然后在堆内存中为对象分配一个存储空间。变量实际上只包含一个指向堆内存中对象的指针。
示例:
let obj1 = {name: "Jack"};
let obj2 = obj1;
obj1.name = "Rose";
console.log(obj1.name); // 输出 Rose
console.log(obj2.name); // 输出 Rose
上述代码中,obj1和obj2都是引用类型的变量,它们实际上只是指向同一个对象。因此,当我们修改obj1的属性时,obj2也会受到影响。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript基本数据类型及值类型和引用类型 - Python技术站