Meine liebe Not mit destructuring
bearbeitet von
Hallo Rolf,
> ich glaube, JavaScript ist für mich soeben eine Fremdsprache geworden. Destructuring beim Parameterempfang - argh!
😀
Ich mag es. Es erlaubt deklarativeren und damit besser lesbaren Code und erlaubt es IDEs bessere auto completion zu machen. Wenn ich z.B. diese Funktion definiere:
~~~js
function foo({start, stop}) {}
~~~
dann kann z.B. VS Code beim Aufruf die Eigenschaften `start` und `stop` automatisch anbieten.
Natürlich könnte man fragen „aber warum nimmst du nicht einfach zwei Argumente?“ – nun, das ist nur ein stark vereinfachtes Beispiel. Die Argumente könnten mehr werden so dass ein Objekt lesbarer ist, oder ich verwende ein Framework wie React, bei dem die Parameter aus einer technischen Notwendigkeit heraus immer als Objekt übergeben werden müssen. Es gibt viele Gründe, warum ein Objekt als Parameter Sinn machen kann.
**Edit:** sehr praktisch auch zusammen mit dem spread operator:
~~~js
const {start, stop, ...rest} = props;
~~~
Ergibt eine Variable `start` mit dem Wert von `props.start`, eine Variable `stop` mit dem Wert von `props.stop` und eine Variable `rest` mit einem neuen Objekt, dass alle restlichen Eigenschaften von `props` enthält.
**Edit 2:** das geht übrigens auch mit Arrays, so kann man Tuple nachbilden:
~~~js
const [elem1, elem2, ...rest] = funReturningATuple();
~~~
Und jetzt… jetzt gehe ich erstmal eine Runde Fahrrad fahren 😀
[](/images/1256e5ee-0eef-11eb-bcd4-b42e9947ef30.jpeg)
Freundliche Grüße,
Christian Kruse
--
<https://wwwtech.de/about>
Meine liebe Not mit destructuring
bearbeitet von
Hallo Rolf,
> ich glaube, JavaScript ist für mich soeben eine Fremdsprache geworden. Destructuring beim Parameterempfang - argh!
😀
Ich mag es. Es erlaubt deklarativeren und damit besser lesbaren Code und erlaubt es IDEs bessere auto completion zu machen. Wenn ich z.B. diese Funktion definiere:
~~~js
function foo({start, stop}) {}
~~~
dann kann z.B. VS Code beim Aufruf die Eigenschaften `start` und `stop` automatisch anbieten.
Natürlich könnte man fragen „aber warum nimmst du nicht einfach zwei Argumente?“ – nun, das ist nur ein stark vereinfachtes Beispiel. Die Argumente könnten mehr werden so dass ein Objekt lesbarer ist, oder ich verwende ein Framework wie React, bei dem die Parameter aus einer technischen Notwendigkeit heraus immer als Objekt übergeben werden müssen. Es gibt viele Gründe, warum ein Objekt als Parameter Sinn machen kann.
**Edit:** sehr praktisch auch zusammen mit dem spread operator:
~~~js
const {start, stop, ...rest} = props;
~~~
Ergibt eine Variable `start` mit dem Wert von `props.start`, eine Variable `stop` mit dem Wert von `props.stop` und eine Variable `rest` mit einem neuen Objekt, dass alle restlichen Eigenschaften von `props` enthält.
Freundliche Grüße,
Christian Kruse
--
<https://wwwtech.de/about>
Meine liebe Not mit destructuring
bearbeitet von
Hallo Rolf,
> ich glaube, JavaScript ist für mich soeben eine Fremdsprache geworden. Destructuring beim Parameterempfang - argh!
😀
Ich mag es. Es erlaubt deklarativeren und damit besser lesbaren Code und erlaubt es IDEs bessere auto completion zu machen. Wenn ich z.B. diese Funktion definiere:
~~~js
function foo({start, stop}) {}
~~~
dann kann z.B. VS Code beim Aufruf die Eigenschaften `start` und `stop` automatisch anbieten.
Natürlich könnte man fragen „aber warum nimmst du nicht einfach zwei Argumente?“ – nun, das ist nur ein stark vereinfachtes Beispiel. Die Argumente könnten mehr werden so dass ein Objekt lesbarer ist, oder ich verwende ein Framework wie React, bei dem die Parameter aus einer technischen Notwendigkeit heraus immer als Objekt übergeben werden müssen. Es gibt viele Gründe, warum ein Objekt als Parameter Sinn machen kann.
Freundliche Grüße,
Christian Kruse
--
<https://wwwtech.de/about>