Eksporty domyślne a nazwane
Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 10 z 56.
W modułach JavaScript masz dwa główne sposoby eksportowania kodu: eksporty nazwane i eksport domyślny.
Eksporty nazwane pozwalają eksportować wiele wartości z modułu:
// math.js
export function add(a, b) {
return a + b;
}
export function subtract(a, b) {
return a - b;
}Podczas importowania eksportów nazwanych musisz używać dokładnie tych samych nazw w nawiasach klamrowych:
// app.js
import { add, subtract } from './math.js';
console.log(add(5, 3)); // 8
console.log(subtract(10, 4)); // 6Jeśli chcesz zmienić nazwę importu nazwanego, użyj słowa kluczowego as, aby utworzyć alias:
// app.js
import { add as sum, subtract as minus } from './math.js';
console.log(sum(5, 3)); // 8
console.log(minus(10, 4)); // 6Eksporty domyślne pozwalają eksportować pojedynczą główną wartość z modułu:
// user.js
const user = {
name: 'John',
age: 30
};
export default user;Podczas importowania eksportu domyślnego możesz użyć dowolnej nazwy bez nawiasów klamrowych:
// app.js
import person from './user.js';
console.log(person.name); // 'John'Kiedy używać którego? Używaj eksportów nazwanych, gdy moduł udostępnia wiele powiązanych narzędzi (np. zbiór funkcji pomocniczych). Używaj eksportu domyślnego, gdy moduł ma jeden główny cel lub główną wartość (np. klasę, komponent lub obiekt konfiguracji).
Możesz połączyć oba typy eksportów w jednym module:
// vehicle.js
export const wheels = 4;
export const doors = 4;
const car = {
brand: 'Toyota',
model: 'Corolla'
};
export default car;Zaimportuj je razem:
// app.js
import myCar, { wheels, doors } from './vehicle.js';
console.log(myCar.brand); // 'Toyota'
console.log(wheels); // 4Wyzwanie
ŁatwyMasz dwa pliki. Twoim zadaniem jest skonfigurować eksporty w calculator.js i importy w main.js.
- W pliku
calculator.js: wyeksportujcalculatejako eksport domyślny, asquarejako eksport nazwany - W pliku
main.js: zaimportuj poprawnie obie funkcje
Testy sprawdzą:
- Eksport domyślny użyty dla
calculate - Eksport nazwany użyty dla
square - Oba importy działają poprawnie
Spróbuj swoich sił
// TODO: Zaimportuj tutaj obie funkcje z calculator.js
// Test
console.log(calculate(10, 5, '+')); // Powinno wypisać 15
console.log(square(4)); // Powinno wypisać 16Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Programowanie obiektowe
1Obiekty i słowo kluczowe this
Szybka powtórka: obiektyDodawanie metod do obiektówZrozumienie słowa kluczowego thisFunkcje konstruktoraSłowo kluczowe newWyzwanie podsumowujące7Dziedziczenie i słowo kluczowe extends
DziedziczenieRelacja „jest rodzajem”Słowo kluczowe extendsMetoda super()Dziedziczenie właściwości i metodWyzwanie podsumowujące10Polimorfizm
Czym jest polimorfizm?Nadpisywanie odziedziczonych metodUżywanie superWyzwanie podsumowujące13Kompozycja a dziedziczenie
Relacja „ma” a relacja „jest”Ograniczenia głębokiego dziedziczeniaTworzenie obiektów2Organizowanie kodu
Czym są moduły?Eksportowanie za pomocą exportImportowanie za pomocą importEksporty domyślne a nazwane5Enkapsulacja i dostęp
EnkapsulacjaPubliczne i prywatne pola klasyMetody prywatneWyzwanie podsumowujące8Organizowanie kodu OOP
Organizowanie klas w moduły11Projekt: Renderer kształtów
Konfiguracja: klasa Shape i eksportDziedziczenie klasy CircleNadpisywanie i metoda obliczania polaStatyczny licznik kształtów14System zarządzania biblioteką
Projektowanie bibliotekiKlasa Book z kompozycjąWalidacja autora książki9Metody i właściwości statyczne
Poziom klasy a poziom instancjiWłaściwości statyczneStatyczne metody pomocniczeWyzwanie podsumowującePoćwicz samodzielnie: Kompilator JavaScript online