• JavaScript一团乱,这是好事


    译者按: JavaScript从简单变复杂了,作者从另一个角度看待这个问题。

    为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。

    JavaScript从不移除旧的特性,新版本总是向后兼容。我希望我们能够把那些重复的旧的特性清理一下,但是保持兼容有太多的好处。我在本文会解释。

    1. 向后兼容的优势

    1. 迁移到新的语言版本是一件轻而易举的事情。举个例子,如果你使用ES6,所有旧代码无需任何改动。
      • 只有ES模块很难采用,因为它破坏了向后兼容性。
    2. 避免了代码版本化。如果你允许一些代码是“旧”的,有一些是“新”的:
      • 语言引擎和工具变得更加复杂
      • 开发人员需要小心应对不同的版本
      • 你不能随意移动代码了(如果代码基础库是混合的)

    2. 一些处理JavaScript扩展功能的技巧

    • 授课和学习:你可以直接忽略旧的特性,不仅仅是它们长什么样,它们干嘛也无需知道
    • 使用Linter来辅助码代码
    • 使用Prettier来美化代码

    3. 一个干净的JavaScript

    如果你想要使用一个比较简洁的JavaScript,你可以忽略很多旧的语法,下面是一些建议:

    • var: 使用let和const
    • function: 使用箭头函数和方法定义(method definition)。优势:更容易处理this。(具体信息)
    • Promises: 只使用async函数。你不能完全避开使用Promises。
    • 迭代访问对象:使用map
    • 循环:避免使用for-in,尽量避免使用for, 建议使用for-of。
    • 参数:使用rest parameters(…args)
    • Function.prototype.apply():使用spread operator(f(..myArray))
    • 构造函数:使用class
    • IIFEs(立即调用函数): 使用块作用域

    4. 待定

    typeof和instanceof非常复杂,我无法建议哪个取代哪个。推荐这篇博客:Beyond typeof and instanceof: simplifying dynamic type checks

    5. 阅读更多

    关于Fundebug

    Fundebug专注于JavaScript、微信小程序、小游戏BUG监控,自从2016年双十一正式上线,Fundebug已经服务了一年半时间,累计处理了5亿+错误事件,得到了众多知名用户的认可。Fundebug支持主流前端框架的bug监控,欢迎各位老铁体验!

  • 相关阅读:
    2017.3.17作业
    2017.3.16作业
    2017.3.15作业
    2017.3.14作业
    2017.3.13作业
    2017.3.10作业
    网站流量日志分析(数据 采集之 Flume 采集)
    网站流量日志分析(模块开发——数据仓库设计)
    日常问题及解决
    可爱的生活
  • 原文地址:https://www.cnblogs.com/fundebug/p/9197606.html
Copyright © 2020-2023  润新知