Heim Web-Frontend Front-End-Fragen und Antworten Was sind die Vorteile der ES6-Pfeilfunktionen?

Was sind die Vorteile der ES6-Pfeilfunktionen?

Mar 07, 2022 pm 05:11 PM
es6 优点 箭头函数

Die Vorteile von es6-Pfeilfunktionen: 1. Prägnante Syntax, z. B. „Parameter => {Anweisungen;};“, die bequemer anzuwenden ist. 2. Möglichkeit zur impliziten Rückgabe. 3. Intuitiverer Umfang und diese Bindung ( binden Sie dies nicht).

Was sind die Vorteile der ES6-Pfeilfunktionen?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, ECMAScript Version 6, Dell G3-Computer.

Wir alle wissen, dass es viele Möglichkeiten gibt, Funktionen in JavaScript zu definieren. Am häufigsten wird das Funktionsschlüsselwort verwendet:

1

2

3

4

5

6

7

8

// 函数声明

function sayHi(someone) {

  return `Hello, ${someone}!`;

}

// 函数表达式

const sayHi = function(someone) {

  return `Hello, ${someone}`;

}

Nach dem Login kopieren

Die Funktionsdeklaration und der Funktionsausdruck oben werden als reguläre Funktionen bezeichnet.

Es gibt auch die neue Pfeilfunktionssyntax in ES6:

1

2

3

const sayHi = (someone) => {

  return `Hello, ${someone}!`;

}

Nach dem Login kopieren

Im Vergleich zu den Funktionen im ursprünglichen JS sind die in ES6 hinzugefügten Pfeilfunktionen prägnanter und bequemer anzuwenden.

Vorteile der es6-Pfeilfunktion:

1. Prägnante Syntax

Ein Array, verdoppeln Sie es und geben Sie es dann aus.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

删掉一个关键字,加上一个胖箭头;

没有参数加括号,一个参数可选择;

多个参数逗号分隔,

 

const numbers = [5,6,13,0,1,18,23];

//原函数

const double = numbers.map(function (number) {

    return number * 2;

})

console.log(double);

//输出结果

//[ 10, 12, 26, 0, 2, 36, 46 ]

//箭头函数     去掉function, 添加胖箭头

const double2 = numbers.map((number) => {

    return number * 2;

})

console.log(double2);

//输出结果

//[ 10, 12, 26, 0, 2, 36, 46 ]

//若只有一个参数,小括号能够不写(选择)

const double3 = numbers.map(number => {

    return number * 2;

})

console.log(double3);

//如有多个参数,则括号必须写;若没有参数,()须要保留

const double4 = numbers.map((number,index) => {

    return `${index}:${number * 2}`;  //模板字符串

})

console.log(double4);

Nach dem Login kopieren

2. Kann implizit zurückgegeben werden. Die angezeigte Rückgabe ist SVG eine Variable, wie oben double3. Anonyme Funktionen sind beim Rekursieren und Entbinden von Funktionen nützlich.

3. Eine intuitivere Bindung von Scope und This (

)

Ein Objekt, so haben wir es ursprünglich in der Funktion geschrieben

Ein Objekt, so haben wir es ursprünglich in der Funktion geschrieben

1

2

3

4

const double3 = numbers.map(number => {

    return number * 2; 

    //return 返回内容;

})

Nach dem Login kopieren
不绑定thisThis It bedeutet, dass die Ausrichtung von this.hobbies korrekt ist, die Ausrichtung von this.name jedoch falsch;

Wenn eine unabhängige Funktion ausgeführt wird, zeigt diese auf window

Wenn wir korrekt zeigen möchten, besteht unser ursprünglicher Ansatz darin, eine Variable zu setzen Ersetzung spa

1

2

当你想简单返回一些东西的时候,以下:去掉return和大括号,把返回内容移到一行,较为简洁;

const double3 = numbers.map(number => number * 2);

Nach dem Login kopieren

Dies liegt daran, dass „this“, auf das in der Pfeilfunktion zugegriffen wird, tatsächlich von „this“ in seinem übergeordneten Bereich geerbt wird. Das eigene „this“ existiert nicht und ist daher äquivalent zu „this“, wenn es deklariert wird sicher (lexikalischer Bereich), dass sich der Zeiger davon beim Aufruf der Methode nicht ändert.

【Verwandte Empfehlungen:

Javascript-Video-Tutorial

,

Web-Frontend

Das obige ist der detaillierte Inhalt vonWas sind die Vorteile der ES6-Pfeilfunktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ist Async für es6 oder es7? Ist Async für es6 oder es7? Jan 29, 2023 pm 05:36 PM

Ist Async für es6 oder es7?

Verstehen Sie die Vor- und Nachteile der Django-, Flask- und FastAPI-Frameworks Verstehen Sie die Vor- und Nachteile der Django-, Flask- und FastAPI-Frameworks Sep 28, 2023 pm 01:19 PM

Verstehen Sie die Vor- und Nachteile der Django-, Flask- und FastAPI-Frameworks

Vor- und Nachteile des Django Framework: Alles, was Sie wissen müssen Vor- und Nachteile des Django Framework: Alles, was Sie wissen müssen Jan 19, 2024 am 09:09 AM

Vor- und Nachteile des Django Framework: Alles, was Sie wissen müssen

So verwenden Sie PHP-Pfeilfunktionen, um das Currying von Funktionen zu implementieren So verwenden Sie PHP-Pfeilfunktionen, um das Currying von Funktionen zu implementieren Sep 13, 2023 am 11:12 AM

So verwenden Sie PHP-Pfeilfunktionen, um das Currying von Funktionen zu implementieren

Warum muss das Miniprogramm es6 in es5 konvertieren? Warum muss das Miniprogramm es6 in es5 konvertieren? Nov 21, 2022 pm 06:15 PM

Warum muss das Miniprogramm es6 in es5 konvertieren?

Was bedeutet die temporäre Totzone von es6? Was bedeutet die temporäre Totzone von es6? Jan 03, 2023 pm 03:56 PM

Was bedeutet die temporäre Totzone von es6?

Empfehlen Sie einen Android-Browser – Vorteile und Nutzungsvorschläge von UC Browser Empfehlen Sie einen Android-Browser – Vorteile und Nutzungsvorschläge von UC Browser Jan 08, 2024 pm 04:49 PM

Empfehlen Sie einen Android-Browser – Vorteile und Nutzungsvorschläge von UC Browser

So implementieren Sie die Array-Deduplizierung in es5 und es6 So implementieren Sie die Array-Deduplizierung in es5 und es6 Jan 16, 2023 pm 05:09 PM

So implementieren Sie die Array-Deduplizierung in es5 und es6

See all articles