You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中类、类对象集合的使用及自定义数据类型实现方法

在JavaScript中处理自定义数据类型的几种方式

对比你在C#中先定义类再创建实例的习惯,JavaScript提供了多种灵活的方式来处理自定义数据类型,下面是最常用的几种实现:

1. 对象字面量(快速创建单个对象)

这是最直接的方式,不需要提前定义“类”,直接创建包含属性的对象,适合不需要重复创建同类型对象的简单场景:

// 创建单个自定义对象
const myPerson = {
  id: 1,
  name: '张三',
  age: 25
};

// 创建集合(JavaScript中最常用的集合是数组)并添加对象
const people = [];
people.push(myPerson);

2. 构造函数(批量创建同结构对象)

在ES6之前,构造函数是批量创建同类型对象的标准方式,作用类似C#的类:

// 定义构造函数,约定首字母大写区分普通函数
function Person(id, name, age) {
  this.id = id;
  this.name = name;
  this.age = age;
}

// 给构造函数的原型添加方法,让所有实例共享
Person.prototype.sayHello = function() {
  console.log(`你好,我是${this.name}`);
};

// 创建实例
const person1 = new Person(1, '张三', 25);
const person2 = new Person(2, '李四', 30);

// 添加到数组集合
const people = [person1, person2];
// 后续也可以继续添加新实例
people.push(new Person(3, '王五', 28));

// 调用实例方法
person1.sayHello(); // 输出:你好,我是张三

3. ES6 Class(类语法糖,贴近C#类写法)

ES6引入了class语法,本质是构造函数和原型链的语法糖,但写法更贴近传统面向类的语言(比如C#),降低学习成本:

// 定义类
class Person {
  // 构造方法,对应C#的构造函数
  constructor(id, name, age) {
    this.id = id;
    this.name = name;
    this.age = age;
  }

  // 类的实例方法
  sayHello() {
    console.log(`你好,我是${this.name}`);
  }
}

// 创建实例
const myPerson = new Person(1, '张三', 25);
const people = [];
people.push(myPerson);

// 调用方法
myPerson.sayHello(); // 输出:你好,我是张三

关于集合的补充

JavaScript中常用Array(数组)作为集合,对应你C#中的List<T>;如果需要键值对形式的集合,可以用Map;如果需要存储不重复元素的集合,可以用Set,根据实际场景选择即可。

内容的提问来源于stack exchange,提问作者Сергей Горбулев

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 10:15:34