JavaScript是一种脚本语言,它有一个灵活的层次结构,使开发人员能够在该语言中创建自定义对象。JavaScript支持两种继承和扩展的实现方法:原型链继承和构造函数继承。
原型链继承
原型链继承是JavaScript中最常用的一种继承方式。它使用原型对象来实现继承,即一个对象的原型指向另一个对象,从而实现继承。原型链继承可以使用两种方式实现:Object.create()方法和构造函数继承。
Object.create()方法
Object.create()方法可以创建一个新对象,其原型指向另一个对象。它的语法如下:
var obj = Object.create(prototype[, propertiesObject]);
其中,prototype是一个对象,它将作为新创建对象的原型;propertiesObject是一个可选参数,它可以用于为新创建的对象添加属性。
构造函数继承
构造函数继承是一种比较常见的继承方式,它使用构造函数来实现继承。构造函数继承的原理是:在子类构造函数中调用父类构造函数,从而实现继承。
构造函数继承的语法如下:
function SubClass(){ SuperClass.call(this); }
其中,SubClass是子类构造函数,SuperClass是父类构造函数。
扩展
除了继承,JavaScript还支持扩展。扩展是指将一个对象的属性和方法复制到另一个对象中。JavaScript提供了一种简单的方法来实现扩展,即使用Object.assign()方法。
Object.assign()方法的语法如下:
Object.assign(target, ...sources);
其中,target是一个对象,它将接收来自sources参数的属性和方法;sources是一个可变参数,它可以是一个或多个对象,它们的属性和方法将被复制到target对象中。
JavaScript支持两种继承和扩展的实现方法:原型链继承和构造函数继承。原型链继承可以使用Object.create()方法实现;构造函数继承可以使用构造函数继承实现;而扩展可以使用Object.assign()方法实现。