2. 请问创建对象有哪几种方式?
- 通过对象字面量(对象初始化器)创建
const obj = {}
- 通过构造函数创建
function Person(name, age) {
this.name = name
this.age = age
}
const person = new Person('张三', 21)
// 用原始的Object构造函数
const obj = new Object()
- 通过Object.create创建
它可以指定一个对象作为该对象的原型
const Animal = {
type: "dog", // 属性默认值
displayType : function() { // 用于显示type属性的方法
console.log(this.type);
}
}
// 创建一种新的动物——animal1
const animal = Object.create(Animal);
console.log(animal.__proto__ === Animal) //true
- 通过类来创建
class Dog {
name;
age;
constructor(name, age) {
this.name = name
this.age = age
}
}
const dog = new Dog()
面试延伸
请具体讲一下ES6 类这个特性?