javascript - 有了ES6 的 class ,还有必要去搞明白 ES5 的继承,面向对象方法吗?
天蓬老师
天蓬老师 2017-04-11 09:19:40
[JavaScript讨论组]

ES6 的 class 虽然知识语法糖,但是毕竟已经是标准了,目前作为入门的前端er,还有必要去搞明白 ES5 的那一套对象原型的写法吗?或者是拥抱 ES6?

补充下:我理解 python 的面向对象方法


11-12 补充:
感谢楼下各位的回复。

既然 ES6 增加了「类」的概念。单单从学习的角度来说,为什么不能像其他的编程语言那样直接从「类」开始学习呢?如果你有其他语言面向对象的经验,那么也可以避免之前原型链,继承的繁琐,和难以理解的坑。

我个人武断的觉得,class 的出现标志着之前那一套原型继承的方案已经过时了
看了各位的回答,前几天老老实实学习了原型链及继承的基本原理,厘清楚了一下概念。然后再回过头来学习 ES6 的类时觉得更加的通透,觉得理所当然。

谢谢

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(9)
伊谢尔伦

ES6,或者说typescriptcoffescript(本质上不一样,但从使用体验来讲是差不多的)这种,虽然写起来很爽。

但是还是有很多缺点的(至少在目前主流浏览器不支持的情况):

  1. 需要用babeltsc(typescript)转换,需要配置webpack或类似工具,还要确保这些转换器没有什么奇怪的坑,最好要研究下他的转换过程。

  2. 目前还有大部分的js库是用的es5的语法,指不定什么时候需要研究参考下,更别说还需要维护那些原来用es5写的项目了(当然如果有时间的话,你可以用es6重构下,但也是需要花费不少时间的,特别是需要做很多单元测试,保证项目没有改出问题)。

当然如果是你主导的新项目,或者说是那种比较新的项目,当然是推荐ES6来写,毕竟更爽,改进了很多,写起来也更加方便。但是在ES5没完全淘汰之前,ES5还是必须看的,况且你要学的ES6也是大部分从ES5改进过来的。

巴扎黑

作为一个前端开发人员,你觉得浏览器都支持 ES6 吗?

或者你只开发 ECS 6,然后用 NodeJS - Babel 转?中间出现坑你如何解决?

PHP中文网

ES6拒绝了你的拥抱,并向你扔出一本 《JavaScript权威指南》。

学JS基础很重要,新的东西只是在帮你更方便的编程,地基打不好,楼就建不高。

大家讲道理

有必要,只有你明白语言的前世今生你才能够创新。

高洛峰

当然有啦。你不懂ES5的原型,你怎么可能理解ES6的class呢?ES6的class就是语法糖而已啊。

即使你懂其他语言的面向对象,也还是要懂JavaScript的原型继承。因为JavaScript里的原型继承,和其他语言中的继承不太一样。

es6的class的本质还是原型继承。即使现在你认为你可以跳过原型,把class当成类来理解。但你迟早还是会发现,你绕不开原型继承。

怪我咯

等你需要进阶提高了,不懂ES5实现,如何能hold住ES6的class实现?

大家讲道理

把ES5弄懂,什么ES6和ES7,只不过是强化版的语法而已。

伊谢尔伦

phthon?还是python?class毕竟只是语法糖而已,基础还是很重要的

PHPz

说句不那么夸张点的。

你学会了es6之后才发现,那么多特性其实除了几个核心特性外,其他的几乎都是语法糖。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号