我是一名JavaScript开发人员已有几年,我不时听说JavaScript非常棒,因为它是基于原型的。但是,在编写一个大型JavaScript应用程序时,我总是发现自己正在模拟面向对象的行为。
道格拉斯·克罗克福德(Douglas Crockford)所说的一个问题可能是“JavaScript本身与其原型性质相矛盾”(http://javascript.crockford.com/prototypal.html)。 JavaScript是我使用过的唯一基于原型的语言。
另外我知道有一个提议可以在下一个EcmaScript版本(http://wiki.ecmascript.org/doku.php?id=harmony:classes)中添加类。
别误会我的意思,我喜欢JavaScript。我只是想了解哪些是基于原型的优于OOP的优势,如果有的话。