JavaScript对象是存储键值对的动态引用类型实体,具备属性和方法;可通过字面量、构造函数或class创建;支持点号/方括号访问与修改属性;常用遍历方法包括for...in、Object.keys/values/entries;需注意对象无序性及浅深拷贝差异。
JavaScript 对象是存储键值对(key-value)的容器,用来表示现实世界中的事物或数据结构,比如用户信息、配置项、DOM 元素等。它不是简单的数据集合,而是具备属性(property)和方法(method)的动态实体。
对象是引用类型,多个变量可以指向同一个对象,修改其中一处会影响所有引用;对象的属性名默认是字符串(也可用 Symbol),值可以是任意类型,包括函数(此时叫方法)。
字面量语法(最常用):简洁直观,适合一次性定义简单对象。
let user = { name: "张三", age: 25, sayHello: function() { console.log("你好"); } };
构造函数方式:适合需要复用结构、批量创建同类对象的场景。
let person = new Object();
person.name = "李四";
person.age = 30;
使用 class(ES6+):更接近传统面向对象写法,适合复杂逻辑封装。
class Car {
constructor(brand, year) {
this.brand = brand;
this.year = year;
}
start() { console.log(this.brand + " 启动了"); }
}
let myCar = new Car("Toyota", 2025);
常用方法有:
..in:遍历自身及原型链上可枚举的属性(注意加 hasOwnProperty 过滤)对象本质是无序键值对集合(ES2015 起,整数键按数字顺序,其余按插入顺序),属性名会被自动转为字符串;浅拷贝用 Object.assign({}, obj) 或展开运算符 {...obj};深拷贝需借助 JSON 方法(限制多)或结构化克隆(structuredClone)等方案。