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,提问作者Сергей Горбулев
相关产品推荐
相关产品推荐

