不用class的JS程序员是野生程序员?

2013-02-04 22:01:14 +08:00
 WarWithinMe
前因:我不止一次地被问倒“请用JS写一个类,然后再写一个子类来继承它”。当谈及为什么要写一个类的时候。提问者往往会回答“因为面向对象能够让我们复用代码,多态,应对不同的产品需求,blah blah blah”。然后如果你答不出的话,大概就被认为是个野生程序员,能力底下之类。

但是,在JS里面,为了实现封装、多态的目的,真的只能用“类”这种方式吗?我觉得JS提供的匿名函数、闭包等特性就能够达到代码封装和可扩展的目的。

我怎么就觉得他们认为写代码就是要面向对象,面向对象就是要写类。。。

很想听一下大家的看法。
9573 次点击
所在节点    JavaScript
64 条回复
WarWithinMe
2013-02-18 13:44:32 +08:00
@dreampuf Cannot agree more...
chone
2013-02-20 17:54:15 +08:00
恰当使用类确实能提高代码质量,另外用原型继承模拟类继承,很多时候能让项目更健壮,更容易维护,而且熟悉基于类的面向对象的程序员更容易找。
WarWithinMe
2013-02-20 19:08:18 +08:00
@chone 继承会导致强耦合。。。
chone
2013-02-20 21:53:56 +08:00
@WarWithinMe 耦合性太高会导致问题的两类东西就不应该是class和subclass的关系吧,耦合不是绝对的贬义词。只有稳定性要求非常高的的系统才需要尽可能的避免这样的情况,我能想到的生态系统算是一个吧,还有一个能想到linux肯定不是这样的系统。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/59777

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX