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

Was sind die Merkmale der ES6-Pfeilfunktionen?

青灯夜游
Freigeben: 2022-04-11 17:46:57
Original
3340 Leute haben es durchsucht

ES6 Die Eigenschaften der Pfeilfunktion sind: 1. Die Pfeilfunktion hat kein Argumentobjekt. 2. Der Wert dieser Pfeilfunktion hängt vom Wert dieser Nichtpfeilfunktion außerhalb der Funktion ab, die Pfeilfunktion jedoch nicht 3. Die Pfeilfunktion kann keine neue Schlüsselwortdeklaration verwenden. 4. Pfeilfunktionen haben kein Prototypattribut.

Was sind die Merkmale der ES6-Pfeilfunktionen?

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

Der ES6-Standard fügt eine neue Funktion hinzu: Pfeilfunktion.

Warum heißt es Pfeilfunktion? Weil seine Definition einen Pfeil verwendet:

x => x * x
Nach dem Login kopieren

Die obige Pfeilfunktion entspricht:

function (x) {    
return x * x;
}
Nach dem Login kopieren

Die Pfeilfunktion entspricht einer anonymen Funktion und vereinfacht die Funktionsdefinition. Es gibt zwei Formate von Pfeilfunktionen. Eines ist wie das obige, das nur einen Ausdruck enthält und sogar {...} und return weggelassen werden. Es gibt auch eine Methode, die mehrere Anweisungen enthalten kann. In diesem Fall können { ... } und return nicht weggelassen werden:

x => {
    if (x > 0) {
        return x * x;
    }
    else {
        return - x * x;
    }
}
Nach dem Login kopieren

Wenn der Parameter keiner ist, müssen Sie ihn in Klammern setzen ():

// 两个参数:
(x, y) => x * x + y * y

// 无参数:
() => 3.14

// 可变参数:
(x, y, ...rest) => {
    var i, sum = x + y;
    for (i=0; i<rest.length; i++) {
        sum += rest[i];
    }
    return sum;
}
Nach dem Login kopieren

If Wenn Sie ein Objekt zurückgeben möchten, müssen Sie Folgendes beachten: Wenn es sich um einen einzelnen Ausdruck handelt, wird ein Fehler gemeldet, wenn Sie ihn wie folgt schreiben:

// SyntaxError:
x => { foo: x }
Nach dem Login kopieren

Da im Funktionskörper ein syntaktischer Konflikt mit {...} vorliegt, Es muss geändert werden in:

// ok:
x => ({ foo: x })
Nach dem Login kopieren

es6 Eigenschaften von Pfeilfunktionen

1. Die Pfeilfunktion hat keine Argumente

let test1 = () => {
    console.log(arguments)
}
test1(123) // arguments is not defined
Nach dem Login kopieren

Die Pfeilfunktion sucht beim Suchen nur nach der äußeren Nicht-Pfeilfunktion für das Argumentobjekt. Wenn es sich bei der äußeren Ebene um eine Funktion ohne Pfeilfunktion handelt, wird sie unterbrochen und zurückgegeben, wenn sie nicht über das Argumentobjekt verfügt

Der This-Wert der Pfeilfunktion hängt vom This-Wert der Nicht-Pfeilfunktion außerhalb der Funktion ab. Wenn die obere Ebene noch eine Pfeilfunktion ist, suchen Sie weiter nach oben. Wenn sie nicht gefunden wird, ist dies das Fenster Objekt

function test2(a, b, c){
    return () => {
    console.log(arguments) // [1]
    }
}
test2(1)()
Nach dem Login kopieren
Die Pfeilfunktion kann den Punkt dieses Objekts nicht ändern

let person = {
    test: () => {
        console.log(this)
    },
    fn(){
        return () => {
            console.log(this)
        }
    }
}
person.test()  // window
person.fn()()  // person对象
Nach dem Login kopieren

Während der Vorkompilierung wurde dies festgestellt.

Was sind die Merkmale der ES6-Pfeilfunktionen?

3. Pfeilfunktionen können nicht mit dem neuen Schlüsselwort deklariert werden

let person = {}
let test = () => console.log(this)
test.bind(person)()
test.call(person)
test.apply(person)
Nach dem Login kopieren

4. Pfeilfunktionen haben keine Prototypattribute

Haben alle Funktionen in JavaScript Prototypattribute?

let test = () => {}
new test() // Uncaught TypeError: test is not a constructor
Nach dem Login kopieren
Pfeilfunktionen können Parameter nicht umbenennen

let test = () => {}
test.prototype // undefined
test.__proto__ === Function.prototype // true
Nach dem Login kopieren

[Verwandte Empfehlungen:

Javascript-Video-Tutorial

,

Web-Frontend

]

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

Verwandte Etiketten:
Quelle:php.cn
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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage