funktioniert in JavaScript nicht wie gewünscht:
return
<div>foo</div>;
dies wird interpretiert als:
return;
<div>foo</div>;
(Automatic Semicolon Insertion)
Varianten, die funktionieren:
return <div>foo</div>;
return (
<div>foo</div>
);
gleichzeitige Zuweisung von Inhalten von Objekten oder Arrays zu mehreren Variablen
lange Version (ohne Destrukturierung):
const protocol = window.location.protocol;
const host = window.location.host;
const pathname = window.location.pathname;
Version mit Destrukturierung:
const { protocol, host, pathname } = window.location;
const [a, b, c] = [1, 2, 3];
const [result, logs] = someLongComputation();
// swapping values of a and b
[a, b] = [b, a];
benannte Exports:
const foo = 1;
function bar() {
return 2;
}
export { foo, bar };
oder
export const foo = 1;
export function bar() {
return 2;
}
benannte Imports in einer anderen Datei:
import { foo, bar } from './mymodule.js';
bei Verwendung eines Bundlers wie Webpack:
import { foo, bar } from './mymodule';
Es kann einen default Export pro Modul geben:
export default function Main() {
return <div>Main</div>;
}
oder
function Main() {
return <div>Main</div>;
}
export default Main;
Imports (default und benannt):
import Main, { foo, bar } from 'mymodule.js';
der Default kann unter beliebigem Namen importiert werden
Notation für anonyme Funktionen:
const multiply = (a, b) => {
return a * b;
};
Kurzschreibweise, wenn die Funktion nur einen einzelnen Ausdruck zurückgibt:
const multiply = (a, b) => a * b;
Template Strings erlauben Interpolation (via ${}
)
werden mit Backticks begrenzt (`)
const message = `Hello, ${name}!`;