Home > Web Front-end > JS Tutorial > body text

What You Must Know About JavaScript Arrow Functions and Rest Parameters

WBOY
Release: 2021-12-21 18:35:08
forward
2149 people have browsed it

This article brings you relevant knowledge about arrow functions and remaining parameters in JavaScript. Arrow functions and remaining parameters are very concise. Let’s take a look at how to use them. I hope it will be helpful to everyone.

What You Must Know About JavaScript Arrow Functions and Rest Parameters

1. What is an arrow function?

The arrow function expression syntax is more concise than the function expression, that is, a simplified form of the function.
Its writing method:

() => {};   // 可以用来写一个匿名函数
Copy after login

Its structure:

const / let 函数名 参数 => 函数体
Copy after login

For example, there is a general form of function expression

let add = function(x, y) {
	return x + y;};
Copy after login

which can be written using arrow functions:

let add = (x, y) => {
	return x + y;};
Copy after login

2. Arrow function abbreviation

  • Single parameter
// 对于单个参数,我们可以省略外面的圆括号let addOne = x => {
	return x + 1;}
Copy after login
  • Single-line function body
// 对于单行返回函数体,可以同时省略 {} 和  returnlet add (x, y) => x + y;
Copy after login
  • Single-line object
// 对于返回单行对象,在外面加个 ()let add (x, y) => ({
	value: x + y;});
Copy after login

3. Basic knowledge of arrow functions

The arrow function does not have this, it will look for it in the outer layer according to the scope chain this.
For example:

var A = 1;let fun = {
    A: 2,
    printA: () => {
        console.log(this.A);
    },
    printAA: function() {
        let print = () => {
            console.log(this.A);
        }
        print();
    }};fun.printA();  // 1fun.printAA();  // 2
Copy after login

calls printA, which outputs this.A. Since the arrow function does not have this, so in the outer layer Look for, the outer layer is fun. Here, fun.printA() is called in the global scope, so the outer this points to window, because ## was used before #var defines A = 1, so the output is 1.

Call

printAA, call print() inside, output this.A, look at the print function, It is an arrow function. It does not have this, so look for the outer layer. Its outer layer is printAA, which is called by fun, so its this points to fun, so the A defined in fun is output, which is 2.


4. Scenarios where arrow functions are not applicable

    As a constructor
After instantiating the constructor, its this points to the instantiation Object, and arrow function does not have this, so it cannot be used as a constructor.

  1. When you need this to point to the calling object

  2. When you need to use arguments

Arrow function There are no arguments in , you can use the remaining parameters to store parameters.


5. Remaining parameters

5.1) What are the remaining parameters?

For example:

let add = (x, y, z, ...args) => {
	console.log(x, y, z, args);};
Copy after login

args is the remaining parameters. The remaining parameter is an array. Even if it has no value, it exists in the form of an empty array.
For example:

let add = (x, y, z, ...args) => {
    console.log(x, y, z, args);}add(1, 2, 3);
Copy after login

What You Must Know About JavaScript Arrow Functions and Rest Parameters x, y, z correspond to parameters 1, 2, 3. Since the remaining parameters have no values, they exist in the form of empty arrays.

5.2) Function

Since the arrow function does not have

arguments, we can use the remaining parameters instead of arguments to get the actual parameters For example :

const print = (...args) => {
    console.log(args);};print(1, 2);
Copy after login

What You Must Know About JavaScript Arrow Functions and Rest Parameters

5.3) Notes

    In arrow functions, parentheses cannot be omitted even if there is only one remaining parameter
let add = (...args) => {};
Copy after login
    The remaining parameter can only be the last parameter, and there can be no other parameters after that, otherwise an error will be reported
[Related recommendations:

javascript learning tutorial

The above is the detailed content of What You Must Know About JavaScript Arrow Functions and Rest Parameters. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:csdn.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template