JavaScript的困境与挑战
贺师俊
讲述:丁婵大小:4.23M时长:03:04
日前,360 高级前端架构师贺师俊在 GMTC 2019 全球大前端技术大会上发表主题演讲,分析了 JavaScript 目前的困境与挑战。以下是重点内容。
JavaScript 面临的挑战简单来讲就是一句话:它背着历史的包袱。这个包袱既包括老问题,也包括新设计带来的新问题。
首先,JavaScript 的应用场景非常多,它的开发者社区很复杂,有巨大的差异性。当我们想对 JavaScript 进行改进或者要加入新东西的时候,不同社区的想法、需求可能会不一样。
其次,JavaScript 用了这么多年,不能破坏它的兼容性,所以只能增加特性解决以前的问题。比如箭头函数,加了它之后解决了很多以前 ES3 时代的函数里面的问题,但是不可避免的是使 this 的语义变得更加复杂。
对于历史包袱,现在的解决办法是 Polyfill 方案。但如果是一个实验性的实现,就不要去修改 global 和 prototype 上的东西,否则会造成很多潜在的问题。
一个有趣的事情是,在整个 ES6 的发展过程中,很多提案遵循着“Maximally Minimal 设计哲学”,最大化的最小化,只加那些最重要的东西。如果翻译过来的话就叫“先解决温饱,再考虑小康”,所以 ES6 的很多东西确实解决痛点,但并不能完全满足所有人的需求。
现在温饱都已经解决了,大家讨论的是小康问题,也就是怎么让特性用得更好更爽。但 JavaScript 的开发者社区非常复杂,每个人的需求都不一样,谁能代表开发者?这其实是一个很难回答的问题。
还有一件有争议的事情,可能很多人对 Top-level Await、Class fields 这两个提案都不太满意,在技术上可以有很多讨论,但这个事情从本质上来看,就是容易的都做完了,剩下的都是难搞的。这两个其实都是 ES6 时代遗留至今的问题。
此外,还有性能和动态性的矛盾。我们做一个东西肯定既希望性能好,又希望符合 JavaScript 的传统,所以就会遇到非常多而且很矛盾的问题。
当然,最重要的问题是:JavaScript 的整个发展有没有 Roadmap?答案是没有。这是委员会里面的一个问题,进一步来讲,它没有明确的主导者。如果没有 Roadmap,全局上怎么解决这个事情就不好说了。
目前来看,JavaScript 是非常成功的语言,但现在是一个转折点,我们要停下来看一看,它再往下怎么样发展才会更好?
以上就是贺师俊对于 JavaScript 当前困境的分析和思考,希望对你有所启发。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- 和使用javascript,是痛并快乐着1
收起评论