科技知识港
第二套高阶模板 · 更大气的阅读体验

JavaScript对象创建的几种实用方式

发布时间:2025-12-16 14:00:26 阅读:342 次

在日常写网页交互的时候,经常要处理数据,而JSref="/tag/241/" style="color:#2B406D;font-weight:bold;">对象就是最常用的容器之一。比如你做个购物车功能,商品信息用对象来存就特别方便。下面几种创建对象的方法,都是平时开发中真真实实会用到的。

字面量方式最常见

这是最简单直接的方式,适合大多数场景。比如你要存一个用户信息:

const user = {
  name: '张三',
  age: 28,
  city: '杭州'
};
console.log(user.name); // 输出:张三

构造函数灵活复用

如果你需要批量生成结构相似的对象,比如多个用户,用构造函数更合适:

function Person(name, age) {
  this.name = name;
  this.age = age;
}

const p1 = new Person('李四', 25);
const p2 = new Person('王五', 30);

每次用 new 关键字,就能得到一个新对象,属性值还不一样。

Object.create 创建继承关系

想让一个对象以另一个对象为原型,可以用 Object.create。比如你有个基础配置:

const defaultConfig = {
  theme: 'light',
  autoSave: true
};

const userConfig = Object.create(defaultConfig);
userConfig.theme = 'dark'; // 覆盖默认值

这样 userConfig 就能继承默认配置,同时还能自定义。

ES6 class 语法更清晰

现在很多人喜欢用 class 写法,看着更像传统语言,逻辑也清楚:

class Animal {
  constructor(type) {
    this.type = type;
  }
  speak() {
    console.log(this.type + ' 在叫');
  }
}

const dog = new Animal('狗');
dog.speak(); // 输出:狗 在叫

其实这背后还是基于原型的机制,只是写起来更直观。

动态创建也能应对复杂情况

有时候属性名是变量,或者要根据条件加属性,可以用计算属性或后续赋值:

const key = 'email';
const dynamicObj = {
  [key]: 'zhangsan@example.com',
  ['age' + 2024]: 28
};
// 结果:{ email: 'zhangsan@example.com', age2024: 28 }

这种技巧在处理表单数据或API返回时挺实用。

不同的创建方式各有用途,选哪种主要看你的具体需求。字面量最快捷,构造函数和 class 适合复用,Object.create 处理继承很顺手。实际写代码时混着用也没问题,关键是清楚每种方式的特点。