2017-11-03 2 views
-1

Gibt es einen Unterschied in der Leistung, wenn überhaupt, zwischen dem SchreibenDestrukturierung Variablen Performance

const color = props.color; 

vs

const { color } = props; 

Auch tun wir gewinnen oder jede Leistung verlieren, wenn wir in den Parametern destrukturiert Unterschrift? Siehe Beispiel 3

Ich nehme Beispiel3 in dieser Situation wäre der beste Weg, um die Funktion zu schreiben?


Beispiel funktionelle reagieren Komponenten:

const example1 = (props) => { 
    const color = props.color; 
    // I know I could also just write style={{ color: props.color }} 
    // but for arguments sake lets say I want to write it like this. 
    return <h1 style={{ color }}>Hello</h1>; 
}; 

const example2 = (props) => { 
    const { color } = props; 
    return <h1 style={{ color }}>Hello</h1>; 
}; 

const example3 = ({ color }) => { 
    return <h1 style={{ color }}>Hello</h1>; 
}; 
+4

Bedenkt man, dass Sie JSX verwenden, so dass Ihre Code wird vor dem Ausführen transpiliert, es ist sehr wahrscheinlich, dass alle drei zu sehr ähnlichem/identischem Code führen. –

+2

am besten Google 'js perf {Funktion}' die meiste Zeit die Antwort zu bekommen ... siehe https://jsperf.com/destructuring/5 –

+2

@TomFenech: Hängt davon ab, ob er/sie JSX bis ES5 ist transpiling oder ES2015 +. :-) –

Antwort

0

Es wird keine Performance-Probleme haben, wie Ihr Code/minify kompiliert werden und so weiter.

Beachten Sie, dass mit Reaktion, wird Ihr Code transpiled werden, die das gleiche tun wie

const color = props.color

Überprüfen Sie das Ergebnis auf dem babel compiler online tester