一、类是一种设计模式,许多语言提供了对于面向类软件设计的原生语法,js中也有相似的语法,可是和其余语言中的类彻底不一样。设计模式
二、类意味着复制函数
三、js并不会像类那样自动建立对象的副本。设计
四、在继承或者实例化时,js的对象机制并不会自动执行复制行为,简单来讲,js中只有对象,并不存在能够被实例化的类。一个对象并不会被复制到其余对象,他们会被关联起来。对象
五、混入模式(不管显事仍是隐式)能够用来模拟类的复制行为,可是一般会产生丑陋而且脆弱的语法,好比显式伪多态,这会让代码更加难懂而且难以维护。继承
显式混入其实没有办法模拟类的复制行为,由于对象只能复制引用,没法复制被引用的对象或者函数自己。若是你修改了共享的函数对象,好比添加了一个属性,父类和子类都会受到影响。软件
六、总的来讲,在js中模拟类是得不偿失的,虽然能解决当前的问题,但会有更多隐患语法