ES6 箭头函数

ES6 箭头函数

ES6箭头函数 为我们提供了一种更精确的编写 Javascript函数 的方法。箭头函数引入自ES6版本。箭头函数使我们能够以简单而简短的语法编写函数,并使我们的代码更具可读性和组织性。

箭头函数 是匿名函数,即它们是没有名称的函数,也不受标识符限制。箭头函数不返回任何值,可以在不使用function关键字的情况下声明。它们也被称为 Lambda函数

  • 箭头函数没有原型属性,如 thisargumentssuper.
  • 箭头函数不能使用new关键字。
  • 箭头函数不能用作构造函数。

语法:

对于单个参数:

let function_name = argument1 => expression

对于多个参数:

let function_name = (argument1, argument2 , ...) => expression

注意: 在有多个参数的情况下,您需要用括号括起来。

示例1: 在这个示例中,我们将使用传统的函数语法(或表达式)以及箭头函数语法来相乘两个数字。在下面的代码中,我们创建了一个名为 multiply 的函数,它返回两个数字的乘积。

JavaScript

// Normal function for multiplication
// of two numbers
function multiply(a, b) {
    return a * b;
}
console.log(multiply(3, 5));

输出:

15

箭头函数的用途: 箭头函数是一行的 我们不需要使用return关键字。

JavaScript

// Arrow function for multiplying two numbers
value = (a, b) => a * b;
console.log(value(3, 5));

输出:

15

示例2:当有多于两行需要处理时

从前面的示例中我们可以看出,当有一行代码需要执行时,我们没有使用return关键字,但是如果有多于两行需要处理,我们需要使用return关键字。让我们用一个示例来证明这一点:

JavaScript

number = (a, b) => {
    c = 5;
    return (a + b) * c;
};
console.log(number(2, 3));

输出:

25

示例 3: 没有参数的箭头函数。在下面的代码中,我们使用一个没有任何参数的箭头函数,并返回单词”geeksforgeeks”,因为它是一个单一的语句,我们不需要使用return关键字。

语法:

()=>{ expressions}

JavaScript

// Arrow function with no parameters
const string = () => "geeksforgeeks";
console.log(string);

输出结果:

geeksforgeeks

示例4: 在另一个函数内部使用箭头函数。在这个示例中,我们来计算数组中字符串的长度。我们在 map() 函数内使用箭头函数来完成这个任务。箭头函数返回每个字符串的长度。

JavaScript

// Initializing an array of strings
let array = ["sam", "sarah", "john"];
 
// Map function used to find the length of strings
let lengths = array.map((string) => string.length);
 
console.log(lengths); // [3,5,4]

输出:

[3, 5, 4]

从普通函数到箭头函数的区别和限制:

  • 它不应该被用作方法,因为它缺乏自己的绑定到this或super。
  • 在函数体内,它无法使用yield。
  • 它不能在存在return语句的情况下使用。
  • 要使用的关键字(即let、var、const)。
  • 不适用于像call、apply和bind这样的方法,这些方法都需要设置作用域。
  • 不能使用new关键字创建新对象。
  • 它们无法用作构造函数。
  • 它没有arguments对象和prototype属性。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程