JavaScript ES6为web开发世界带来了激动人心的变化。JavaScript语言的新添加带来了新的可能性。
其中一个比较流行的变化是在JavaScript中添加了箭头函数。箭头函数是编写JavaScript函数表达式的一种新方法,为您在应用程序中创建函数提供了两种不同的方法。
如果您是传统JavaScript函数的专家,则箭头函数需要进行一些调整。让我们看看这些是什么,它们是如何工作的,以及它们对您有何好处。
箭头函数是编写JavaScript ES6版本中包含的函数表达式的新方法。它们与您一直使用的JavaScript函数表达式类似,但有一些稍微不同的规则。
箭头函数始终是匿名函数,具有不同的规则
this,并具有比传统函数更简单的语法。
这些函数使用新的箭头标记:
=>如果您曾经使用过Python,那么这些函数与Python Lambda表达式非常相似。
这些函数的语法比普通函数更简洁。有一些新规则需要牢记:
有很多小的变化需要考虑,所以让我们从函数表达式的基本比较开始。
箭头函数易于使用。与传统函数表达式并排比较,理解箭头函数更容易。
下面是一个函数表达式,它将两个数字相加;首先使用传统的函数方法:
let addnum = function(num1,num2){ return num1 + num2;};addnum(1,2);>>3这是一个非常简单的函数,它接受两个参数并返回总和。
以下是更改为箭头函数的表达式:
let addnum = (num1,num2) => { return num1 + num2;};addnum(1,2);>>3使用arrow函数时,函数语法有很大不同。删除函数关键字;箭头标记让JavaScript知道您正在编写函数。
大括号和return关键字仍然存在。这些是可选的箭头功能。下面是一个更简单的相同函数示例:
let addnum = (num1,num2) => num1 + num2;return关键字和花括号现在不见了。剩下的是一个非常干净的单行函数,几乎是原始函数代码的一半。用更少的代码就可以得到相同的结果。
还有更多的箭头功能。让我们潜得更深一点,让你更好地感受他们的能力。
箭头函数有许多不同的用途和功能。
箭头函数可以使用一个或多个参数。如果使用两个或多个参数,则必须将它们括在括号中。如果只有一个参数,则不需要使用括号。
let square = x => x * xsquare(2);>>4箭头函数可以不带参数使用。如果函数中没有使用任何参数,则必须使用空括号。
let helloFunction = () => C***ole.log("Hello reader!");helloFunction();>>Hello reader!像这样的简单函数使用的代码要少得多。想象一下,当您使用更简单的方法编写函数时,像JavaScript幻灯片这样的复杂项目会变得多么容易。
概念
this往往是使用JavaScript最棘手的部分。箭头函数使
this更容易使用。
使用箭头函数时
this将由封闭函数定义。这可能会在创建嵌套函数和需要时产生问题
this应用于您的主要功能
下面是一个流行的示例,它显示了您必须使用常规函数的变通方法。
function Person() { var that = this; //You have to assign 'this' to a new variable that.age = 0; setInterval(function growUp() { that.age++; }, 1000);}赋值
this当您在主函数中调用函数时,对变量的调用使其可读。这是混乱的,这里有一个更好的方法来使用箭头函数。
function Person(){ this.age = 0; setInterval(() => { this.age++; // Now you can use 'this' without a new variable declared }, 1000);}虽然它们非常适合函数,但不应用于在对象内部创建方法。箭头函数不使用正确的作用域
this.
下面是一个简单的对象,它使用arrow函数在内部创建一个方法。调用该方法时,应该将toppings变量减少1。相反,它根本不起作用。
let pizza = {toppings: 5,removeToppings: () => { this.toppings--; }}//A pizza object with 5 toppings>pizza>>{toppings: 5, removeToppings: f}pizza.removeToppings(); //The method will not do anything to the object>pizza>>{toppings: 5, removeToppings: f} //Still has 5 toppings使用箭头函数可以简化用于处理数组方法的代码。数组和数组方法是JavaScript中非常重要的部分,因此您将经常使用它们。
有一些有用的方法,比如map方法,它在数组的所有元素上运行函数并返回新数组。
let myArray = [1,2,3,4];myArray.map(function(element){return element + 1;});>> [2,3,4,5]这是一个非常简单的函数,可以为数组中的每个值添加一个值。通过使用箭头函数,可以用更少的代码编写相同的函数。
let myArray = [1,2,3,4];myArray.map(element => {return element + 1;});>> [2,3,4,5]现在读起来容易多了。
箭头函数可用于在JavaScript中创建对象文字。常规函数可以创建它们,但它们要长一点。
let createObject = function createName(first,last) { return { first: first, last: last };};您可以使用较少的代码使用箭头函数生成相同的对象。使用箭头表示法,需要将函数体括在括号中。下面是箭头函数的改进语法。
let createArrowObject = (first,last) => ({first:first, last:last});现在,您知道了JavaScript箭头函数使您的开发生活更轻松的一些不同方式。它们缩短了语法,使您可以使用
this,使对象更易于创建,并为您提供了使用数组方法的新方法。
JavaScript ES6中引入的箭头函数以及许多其他特性显示了JavaScript在web开发中的重要性。不过,你可以做的还有很多。
想了解更多关于JavaScript的信息吗?学习这些JavaScript框架。另外,我们的JavaScript备忘单提供了有价值的信息,了解更多关于JavaScript工作原理的知识可以使您成为一名更好的开发人员。
Join our newsletter for tech tips, reviews, free ebooks, and exclusive deals!
Click here to subscribe
ES6是ECMA脚本编程语言的版本6。ECMA脚本是JavaScript的标准化名称,版本6是继2011年发布的版本5之后的下一个版本。它是JavaScript语言的一个主要增强,并添加了更多的功能,以使大规模软件开发更容易。 ...
... 今天我将向您展示如何使用JSON将数据从JavaScript发送到Python。我将介绍如何设置一个web服务器,以及您需要的所有代码。 ...
JavaScript已经成为现代web开发的主流。这种强大的语言已经发展成为任何web开发人员都能理解的基本工具。 ...
... 我应该用JavaScript在我的应用程序中编写代码,还是应该使用类似的框架节点.JS还是快车?我应该使用Python、Scala还是Ruby进行开发?C还是C++?哪种框架最好?对于数据库,我应该学...
...程序员到编码专家,所有技能级别的Web开发人员都认识到JavaScript在开发现代网站中的重要性。JavaScript是如此的优势,所以知道是否要创建应用程序是一项关键技能。 ...