ES2015改善JavaScript编程的7种方法

AppDynamics使公司能够达到并维持当今软件定义业务所需的应用程序性能水平。 尝试AppDynamics for Java,并在几分钟之内开始进行故障排除。

ES6是JavaScript语言的重大更新,这是自2009年采用ES5以来的第一次更新。ES6的功能目前已集成到Web上JavaScript引擎中,并且变化之深远。

ES6中的新功能显示了JavaScript在过去二十年中的发展。 它最初旨在定义一些函数和变量,以构建可以在浏览器中运行的应用程序,但由于其灵活性和适应性,它继续快速增长。 ES6包含新功能,可将JavaScript提升到全新的采用和性能水平。

在本文中,您将深入了解Javascript的历史,ECMA如何开始对其规范进行标准化,ES6新功能的优点以及该语言将来面临的一些挑战。

JavaScript的演变

Ecma_logo ECMA是一个始于60年代初期的行业协会,负责指定JavaScript标准。 最初称为欧洲计算机制造商协会 ,现在简称为ECMA。 JavaScript最初是一个名为Mocha的项目,该项目由Brendan Eich创立,他也是Mozilla基金会的联合创始人。 Mocha后来成为LiveScript,并最终演变为JavaScript。

作为客户端程序上的网页的脚本语言,JavaScript取得了巨大的成功。 Netscape和Sun Microsystems于1995年底正式发布了它。几个月后,Netscape Navigator的2.0版问世,其中包括对JavaScript的全面支持。 微软不久就发布了自己的版本,通过将其命名为JScript来避免商标问题,并于1996年夏季将其捆绑到Internet Explorer 3.0版中。

1996年底,Netscape将JavaScript提交给ECMA International来设置标准化规范。 规范的第一版ECMA-262在1997年6月获得采用。由于Microsoft和Netscape之间在标准化方面存在分歧,ECMA将其标准语言称为“ ECMAScript”。

ECMA-262的六个主要版本

从那时起,又有五个主要版本的ECMA-262。

  • 第二版。 1998年6月的第二版主要是编辑上的更改。
  • 第三版。 第三版于1999年12月发布,增加了诸如正则表达式和数字输出格式之类的功能。
  • 第四版。 第四版由于对语言复杂性的意见分歧而被放弃。
  • 第五版。 第五版于2009年12月发布。它增加了“严格模式”,从而使规范可以更好地进行错误检查。 它还增加了对JavaScript Object Notation( JSON )和其他功能的支持。
  • 第六版。 第六版已于2015年夏季获得批准。通常称为ES6,正式名称为ECMAScript2015。将来的版本将采用这种格式:“ ECMAScript”,后跟发行年份。 因此,下一个版本将是ECMAScript 2016,并且该模式将继续。

第六版增加了用于创建复杂应用程序的基本语法。 其他新组件包括二进制数据,类似于Python语言的生成器和生成器表达式,错误函数,代理,for / or循环和集合。
下一版仍处于开发初期。 它计划包括新功能,例如操作员重载,承诺/并发,模式匹配等等。

ES6的局限性

尽管ECMA成员表示ES6旨在将更简单的语法重新带回JavaScript,但该语言仍面临一些挑战:

  • 局外人很难提出改变。 一些编程专家认为,影响标准变更的过程过于复杂。 开发Aurelia JavaScript框架的Rob Eisenberg告诉InfoWorld,有一次他正试图为JavaScript模块加载器的规范添加一个挂钩 。 他告诉杂志,标准化机构没有提供反馈的有效方法,这限制了局外人影响所考虑内容的能力。
  • 缺少64位数字类型。 尽管语言不断发展,但仍存在一些棘手的技术问题。 一个痛点是继续缺少64位数字类型。 目前,由于支持浮点运算,它仅支持double。

ES6的7个主要功能

尽管存在这些持续的挑战,ES6内的新功能还是广泛而令人印象深刻的。 它们包括:

  1. 模块。 模块使您可以在其他区域重用应用程序的某些部分。 使用新的导入和导出关键字,您可以加载依赖关系并进行管理。 尽管可以使用CommonJS等外部库将ES5中的类似功能拼凑在一起,但是模块化对于当今的大型程序而言非常重要,但它的显着优势是它内置于ES6的核心功能中。
  2. 承诺。 异步操作引起的错误现在可以通过promise处理。 虽然您可以使用回调处理相同的情况,但是由于简洁的错误处理和方法链接,promise的可读性更高。
  3. 箭头。 该函数速记使用语法=>。 虽然这不是一个巨大的补充,但这种简单的改进为关键字“ this”提供了词法范围。
  4. const。 Const使确保您的代码准确无误变得更加容易。 const使任何扫描代码的人都能看到任何不应修改的变量,并且如果抛出错误,则抛出错误。 这有助于减少错误,因为值保持其含义并防止团队成员无意中更改变量。
  5. 属性名称。 在以前的版本ES5中,您不能在对象文字中使用变量。 ES6允许使用特定的语法。
  6. 模板文字。 允许将变量更改为字符串。 模板字符串显示了一个很有用的功能,例如使用标记自动转义SQL字符串。
  7. “糖语法”。 如前所述,ES6 共同努力简化了语法。 一种新的类语法是“语法糖”,因为它使语言更简单易读。 它不会改变系统的工作方式,但是会为喜欢它的开发人员提供更简洁的语法。

javascript-shield 其他功能包括:

  • 块级作用域。 使用“ let”关键字,ES6使您可以将变量直接作用于块。
  • 发电机。 使迭代器使用“ function *”和关键字“ yield”的函数。
  • 休息参数。 现在,您不必使用参数来访问函数的参数。 您可以访问代表其余参数的数组。
  • 组。 您可以将数据值列表存储在集合对象中。
  • 默认参数。 如果您曾经想要过一个可以设置为默认值的函数参数,那么您很幸运,因为ES6具有此功能。

类是ES6的一项功能,它引起了开发人员的爱恨交加,因为它在Javascript的原型继承中添加了语法糖。 它的目的是使Java脚本对可能没有使用过使用原型链的语言的开发人员更具吸引力。 但是,一些开发人员抱怨类将您锁定并掩盖了继承,即JavaScript的原始性质。 一些JavaScript资深人士认为,关于语言的难点在于构造函数,而不是其原型继承。

而且,实际上,ES6中的某些组件是语法糖。 类是一个很好的例子,因为它们使用方法签名表示法来声明具有更短,更易读语法的旧编码方法。 从基于类的语言学习JavaScript的程序员通常很高兴,他们不必担心奇怪的继承机制。

重大升级,还有增长空间

JavaScript保持可行的原因是,它非常适合传统的Web浏览器,同时在Node.js等新环境中也能很好地发挥作用。 尽管有其局限性,但其灵活性使它得以蓬勃发展。 ES6或ECMAScript 2015为开发人员提供了令人兴奋的新工具和功能,使他们可以更快,更清洁,更高效地工作。

同时,ECMA需要找到一种方法,让外部程序员提供有用的想法并实现必要的功能,例如64位数字类型。 如果有的话,ECMA需要更快地工作。 ES5在2009年被采用,一些行业观察家认为ES5没有提供足够的新功能作为主要升级而推出。 确实,有些人将ES5看作是ES3的预热版本。 从这个角度来看,多年来该规范没有任何重大的进步。

如果该图片准确,则ECMA必须采用更快的批准流程。 他们必须弄清楚如何快速整合新思想,有效解决利益相关者之间的政治僵局,并使语法与该语言的新语法更加友好。 如果他们能够有效应对这些挑战和其他挑战,JavaScript将仍然是我们移动,始终在线和超连接世界的基石。

AppDynamics使公司能够达到并维持当今软件定义业务所需的应用程序性能水平。 尝试AppDynamics for Java,并在几分钟之内开始进行故障排除。

翻译自: https://www.javacodegeeks.com/2016/01/7-ways-es2015-can-improve-your-javascript-programming.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值