对象是JavaScript中存储键值对的引用类型,由属性和方法组成,可通过字面量、构造函数、工厂函数或自定义构造函数创建;属性名含特殊字符需引号包裹并用方括号访问;赋值和比较均基于内存地址。
对象是 JavaScript 中的一种基本数据类型,用来存储键值对(属性和方法)的集合,能模拟现实世界中的实体,比如一个人、一辆车或一个订单。
每个对象由若干属性(property)和方法(method)组成。属性是描述对象状态的值,方法是对象可以执行的动作。例如:
const person = {
name: "张三",
age: 25,
sayHello() { return "你好!"; }
};
这里 name 和 age 是属性,sayHello 是方法。
{} 创建,简洁直观,适合一次性定义简单对象。new Object() 创建空对象,再逐个添加属性。适合动态构建,但写法略冗长。
):自定义首字母大写的函数,配合 new 实例化多个相似对象,为后续原型和类打基础。属性名可以是字符串、数字或标识符。若含空格、短横线或以数字开头,必须用引号包裹:
const obj = {
"full-name": "李四",
"1st-place": true,
age: 30
};
访问时,点号(.)仅适用于合法标识符;带特殊字符的属性需用方括号([])访问,如 obj["full-name"]。
变量存储的不是对象本身,而是指向内存中对象的地址。因此:
{} === {} 也是 false)。如需深比较或复制对象,需借助 JSON.parse(JSON.stringify())(简单场景)、扩展运算符 {...obj}(浅拷贝),或使用 structuredClone()(现代浏览器支持)。