官术网_书友最值得收藏!

What happened to all the classes?

The second edition of this book contained quite a number of examples using the class feature that is new in ES2015. The revised examples in this edition use factory functions instead, and the class keyword never appears. Why is this, exactly?

ES2015 classes are essentially just syntactic sugaring for factory functions. By this I mean that they ultimately transpile down to factory functions anyway. Although classes can provide a certain level of organization to a complex piece of code, they ultimately hide what is going on underneath it all. Not only that, using OO paradigms, such as classes, is effectively avoiding one of the most powerful and elegant aspects of JavaScript as a language, which is its focus on first-class functions and objects. Your code will be simpler and more elegant using functional paradigms than OO, and you'll find it less difficult to read examples in the D3 community, which almost never use classes.

There are many, much more comprehensive arguments against using classes than I'm able to make here. For one of the best, refer to Eric Elliott's excellent The Two Pillars of JavaScript pieces at:
 www.medium.com/javascript-scene/the-two-pillars-of-javascript-ee6f3281e7f3.

主站蜘蛛池模板: 山东省| 睢宁县| 开封市| 虎林市| 宁陵县| 利辛县| 枣强县| 佛教| 禄劝| 高淳县| 西盟| 乐业县| 颍上县| 庐江县| 武清区| 永德县| 宜宾市| 青铜峡市| 鹤山市| 宣武区| 东方市| 资源县| 襄垣县| 荔浦县| 平乐县| 秭归县| 林口县| 咸丰县| 德格县| 香格里拉县| 即墨市| 图木舒克市| 灵宝市| 菏泽市| 靖安县| 蓝山县| 北海市| 砀山县| 哈尔滨市| 含山县| 双辽市|