circumference() { return 2 * Math.PI * this.r; }
}
Im Gegensatz zu Funktionen werden Klassendeklarationen nicht gehoistet, und Sie können eine auf diese Weise deklarierte Klasse nicht in Code verwenden, der vor der Deklaration steht.
5.7.4import und export
Die import- und export-Deklarationen werden zusammen verwendet, um Werte, die in einem Modul von JavaScript-Code definiert sind, in einem anderen Modul verfügbar zu machen. Ein Modul ist eine Datei mit JavaScript-Code mit einem eigenen globalen Namensraum, der völlig unabhängig von allen anderen Modulen ist. Einen Wert (wie eine Funktion oder Klasse), der in einem Modul definiert ist, kann man in einem anderen Modul nur verwenden, wenn das definierende Modul ihn mit export exportiert und das verwendende Modul ihn mit import importiert. Module sind Gegenstand von Kapitel 10, und import und export werden ausführlich behandelt in 10.3.
import-Direktiven werden verwendet, um Werte aus einer anderen JavaScript-Datei zu importieren und ihnen Namen innerhalb des aktuellen Moduls zu geben. Es gibt einige unterschiedliche Formen von import-Direktiven. Hier ein paar Beispiele:
import Circle from './geometry/circle.js';
import { PI, TAU } from './geometry/constants.js';
import { magnitude as hypotenuse } from './vectors/utils.js';
Werte innerhalb eines JavaScript-Moduls sind privat und können nicht in andere Module importiert werden, es sei denn, sie wurden explizit exportiert. Die export-Direktive macht genau das: Sie legt fest, dass ein oder mehrere Werte, die im aktuellen Modul definiert sind, exportiert werden und somit für den Import durch andere Module zur Verfügung stehen. Die export-Direktive besitzt mehr Varianten als die import-Direktive. Auch hierzu einige Beispiele:
// geometry/constants.js
const PI = Math.PI;
const TAU = 2 * PI;
export { PI, TAU };
Das Schlüsselwort export wird manchmal als Modifikator anderer Deklarationen verwendet, was zu einer Art zusammengesetzter Deklaration führt, die eine Konstante, Variable, Funktion oder Klasse definiert und sie gleichzeitig exportiert. Und soll nur ein einziger Wert eines Moduls exportiert werden, geschieht dies normalerweise mit der speziellen Form export default:
export const TAU = 2 * Math.PI;
export function magnitude(x,y) { return Math.sqrt(x*x + y*y); }
export default class Circle { /* Klassendefinition hier weggelassen */ }
5.8Zusammenfassung
In diesem Kapitel wurden die einzelnen Anweisungen von JavaScript vorgestellt, die hier noch einmal zusammengefasst sind:
Tabelle 5-1: JavaScript-Anweisungssyntax
Anweisung | Zweck |
break | Bricht aus der innersten Schleife oder aus einem switch oder einer benannten äußeren Anweisung aus. |
case | Markiert eine Anweisung in einem switch. |
class | Deklariert eine Klasse. |
const | Deklariert und initialisiert eine oder mehrere Konstanten. |
continue | Stößt den nächsten Durchlauf einer innersten Schleife oder einer benannten Schleife an. |
debugger | Debugger-Breakpoint. |
default | Markiert die Standardanweisung in einem switch. |
do/while | Eine Alternative zur while-Schleife. |
export | Deklariert Werte, die in andere Module importiert werden können. |
for | Eine leicht zu verwendende Schleife. |
for/await | Durchläuft asynchron die Werte eines async-Iterators. |
for/in | Aufzählen der Eigenschaftsnamen eines Objekts. |
for/of | Aufzählen der Werte eines iterierbaren Objekts wie z.B. eines Arrays. |
function | Deklariert eine Funktion. |
if/else | Führt bedingungsabhängig eine von zwei Anweisungen aus. |
import | Deklariert Namen für Werte, die in anderen Modulen definiert wurden. |
label | Benennt eine Anweisung (gibt ihr ein Label bzw. eine Sprungmarke) zur Verwendung mit break und continue. |
let | Deklariert und initialisiert eine oder mehrere blockbezogene Variablen (neue Syntax). |
return | Liefert einen Wert aus einer Funktion zurück. |
switch | Mehrwegige Verzweigung zu case- oder default-Sprungmarken. |
throw | Löst eine Ausnahme aus. |
try/catch/finally | Behandelt Ausnahmen und enthält Aufräumcode. |
"use strict" | Wendet Einschränkungen des strict-Modus auf ein Skript oder eine Funktion an. |
var | Deklariert und initialisiert eine oder mehrere Variablen (veraltet). |
while | Ein grundlegendes Schleifenkonstrukt. |
with | Erweitert die Geltungsbereichskette (im strict-Modus verboten). |
yield | Stellt einen Wert bereit, über den iteriert werden soll; wird nur in Generatorfunktionen verwendet. |
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.
Безопасно оплатить книгу