JavaScript 中的对象构造函数
当你需要创建许多相同类型的对象时,JavaScript 提供了几种高效的方法。
构造函数
构造函数是用于初始化新对象的函数。请遵循以下规则以避免错误:
- 函数名的首字母大写。这有助于将其识别为构造函数。
- 使用
new关键字。如果你忘记使用它,该函数将像普通函数一样运行,从而无法创建对象。
默认值
你可以在构造函数中设置默认值。这可以确保即使你跳过了一些细节,你的对象仍然是有效的。
示例:
function Person(name = "Unknown", age = 0) {
this.name = name;
this.age = age;
}
如果你调用 new Person(),name 将变为 "Unknown",age 将变为 0。
Object.create()
你可以使用 Object.create() 基于现有对象创建一个新对象。这使用了基于原型的继承。新对象不是复制数据,而是链接到原始原型。
内存优化
不要将方法直接放在构造函数内部。如果你这样做,每个新对象都会拥有该方法的一个副本,这会浪费内存。
相反,应该将方法添加到原型(prototype)上。这样,所有对象都可以共享同一个方法版本。
示例:
Person.prototype.greet = function() {
console.log("Hello " + this.name);
};
继承
类(Classes)允许一个类继承另一个类。在子类中使用 super() 关键字来调用父类构造函数。这使得子类可以访问父类的属性。
使用构造函数的好处:
- 代码复用:使用一种模式创建许多对象。
- 逻辑清晰:将对象设置集中在一个地方。
- 易于初始化:在创建时设置特定值。
- 继承:从简单的对象构建复杂的对象。
Source: https://www.geeksforgeeks.org/javascript/js-constructor-method/ Source: https://www.w3schools.com/js/js_object_constructors.asp
Full post: https://dev.to/kamalesh_ar_6252544786997/object-constructors-in-javascript-2e96