Nor*_*rtl 5 javascript oop inheritance prototypal-inheritance
如果我不完全错误,javascript中的每个框架/库/方法都会模仿基于类的OOP样式继承.原因似乎是人们认为基于类的OOP继承更容易理解并且大多数程序员都知道OOP.
根据我的经验,我没有找到任何一种观点的证据.我认为javascript原型继承很好(我怀疑强制另一种语言的有用性而不是它构建的语言).我遇到的大多数开发人员在经典OOP中都没有那么好.那么选择经典OOP样式继承而不是原型继承的原因是什么?
请注意,即使您正在争论基于原型的OOP,您也称其为"原型",而基于类的OOP仅称为"OOP".所以,你自己也会受到这种偏见的困扰,认为OOP => classes,prototypes =>其他的东西.
并且由于大多数人认为OOP是正确的方式,无论问题如何,原型必须低劣.
所以,回答你的问题,有两个因素:
因为你仍然受到第一个的限制,你试着解释原型是第二个的例外.更容易纠正它们:
有很多方法可以做对象,类只是静态语言最容易的方法.大多数人都被教导用静态语言编程,并且大多数人尝试使用任何语言,就像他们学到的第一语言一样.