详解Javascript 中的 class、构造函数、工厂函数
1.构造函数
在JavaScript中,通过构造函数的方式来创建一个对象是非常常见的。构造函数可以通过使用关键字function
和this
来定义。
示例:
function Person(name, age) {
this.name = name;
this.age = age;
}
let person1 = new Person('Tom', 18);
console.log(person1.name); // 'Tom'
console.log(person1.age); // 18
使用new
关键字来创建对象并调用构造函数。在构造函数中,this
代表所创建的对象,通过给this
设置属性来赋值。
2.工厂函数
工厂函数是另一种创建对象的方式,使用工厂函数创建对象时,不需要使用new
关键字。
示例:
function createPerson(name, age) {
let person = {};
person.name = name;
person.age = age;
return person;
}
let person1 = createPerson('Tom', 18);
console.log(person1.name); // 'Tom'
console.log(person1.age); // 18
使用let person = {};
来创建一个对象,并通过给person
添加属性来完成赋值。最后,将person
返回。
3.class
ES6引入了class
关键字,可以更方便地定义一个类,并且类中的方法也可以定义在class内部,使得代码更加清晰易读。
示例:
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
sayName() {
console.log('My name is ' + this.name);
}
sayAge() {
console.log('My age is ' + this.age);
}
}
let person1 = new Person('Tom', 18);
console.log(person1.name); // 'Tom'
console.log(person1.age); // 18
person1.sayName(); // 'My name is Tom'
person1.sayAge(); // 'My age is 18'
可以通过class
关键字来定义一个类,并在类的内部通过constructor
函数来定义属性(与构造函数相似)。可以在类的内部定义方法,在实例化类后即可调用方法。
总结
以上是Javascript中的三种创建对象的方式,除了使用class
关键字外,构造函数和工厂函数都是ES5时期的标准。无论哪种方式,都能够完成对象的创建和属性值的赋值。在实际开发中,可以根据需求来选择不同的方式以提高代码的清晰度和可读性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Javascript 中的 class、构造函数、工厂函数 - Python技术站