JS哪些是值类型,哪些是引用类型?
时间: 2024-04-18 12:23:29 浏览: 9
在 JavaScript 中,以下是值类型(基本类型)和用类型的一些常见示例:
值类型(基本类型):
- `number`:数字类型
- `string`:字符串
- `boolean`:布尔类型
`null`:空值类型
- `undefined`未定义类型
- `symbol`:符号类型(ES6中引入)
引用类型:
- `object`:对象类型,包括普通对象、数组、函数等
- `array`:数组类型
- `function`:函数类型
- `Date`:日期类型
- `RegExp`:正则表达式类型
值类型在赋值或传递时直接复制其值,而引用类型则是通过引用(内存地址)进行赋值或传递。
例如,当将一个变量的值赋给另一个变量时,如果是值类型,会复制该值到新的变量;如果是引用类型,则会将引用复制到新的变量,指向同一个对象。
```javascript
// 值类型示例
let a = 5;
let b = a; // 复制 a 的值给 b
b = 10;
console.log(a); // 输出: 5,a 的值不受 b 的修改影响
// 引用类型示例
let obj1 = { name: 'Alice' };
let obj2 = obj1; // 复制 obj1 的引用给 obj2
obj2.name = 'Bob';
console.log(obj1.name); // 输出: "Bob",obj1 和 obj2 指向同一个对象,修改 obj2 会影响 obj1
```
需要注意的是,虽然 `null` 和 `undefined` 是值类型,但它们没有对应的对象,因此不能调用方法或访问属性。而引用类型的对象可以调用相应的方法和访问属性。