14- 原型和继承

48 阅读1分钟

实现继承的几种方式

1. ES6中的extends

class Parent{
	constructor(){
		this.age = 18;
	}
}

class Child extends Parent{
	constructor(){
		super();
		this.name = '张三';
	}
}
let o1 = new Child();
console.log( o1,o1.name,o1.age );

2. 组合式继承

function Parent(){
	this.age = 100;
}
function Child(){
	Parent.call(this);
	this.name = '张三'
}
Child.prototype = new Parent();
let o4 = new Child();
console.log( o4,o4.name,o4.age );

原型

1. 原型是什么

每个javascript对象都有一个内部指针,指向另一个对象,这个指向的对象就是原型对象

2. 那些拥有原型

函数拥有:prototype 对象拥有:__proto__

3. 原型链是什么

原型链是一种 javascript中实现继承的机制,实现方法属性共享

// 子父之间的原型关系
子类构造函数的原型 指向父类的实例对象
父类的实例对象的原型 指向当前对象的构造函数的原型对象

// constructor
作用就是指向该对象的构造函数,每个对象都有构造函数。