JavaScript中类的实现是基于原型继承机制的。若两个类继承自同一个类,则它们是由同一个构造函数创建并初始化的。
编程规范:定义构造函数既是定义类,并且类名首字母要大写。
JavaScript中的继承
构造函数对象:为JavaScript的类定义了名字,任何添加到这个构造函数对象中的属性都是类字段和类方法。
原型对象:原型对象的属性被类的所有实例继承
实例对象:类的每个实例都是同一个独立的对象
JavaScript中基于原型的继承机制是动态的:对象从原型继承属性,如果创建对象后原型的属性发生变化,也会影响到继承这个原型的所有实例对象。
instanceof运算符
若o继承自c.prototype,则表达式o instanceof c的值为true。
鸭式辩型
不要关注"对象的类是什么",而是关注"对象能做什么"。
像鸭子一样走路、游泳并且嘎嘎叫的鸟就是鸭子。