Ekspor default vs. ekspor bernama
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan JavaScript di Coddy. Pelajaran 10 dari 56.
Dalam module JavaScript, ada dua cara utama untuk mengekspor kodemu: ekspor bernama dan ekspor default.
Ekspor Bernama memungkinkan kamu mengekspor beberapa nilai dari sebuah module:
// math.js
export function add(a, b) {
return a + b;
}
export function subtract(a, b) {
return a - b;
}Saat mengimpor ekspor bernama, kamu harus menggunakan nama yang persis sama di dalam kurung kurawal:
// app.js
import { add, subtract } from './math.js';
console.log(add(5, 3)); // 8
console.log(subtract(10, 4)); // 6Jika kamu perlu mengganti nama impor bernama, gunakan kata kunci as untuk membuat alias:
// app.js
import { add as sum, subtract as minus } from './math.js';
console.log(sum(5, 3)); // 8
console.log(minus(10, 4)); // 6Ekspor default memungkinkan kamu mengekspor satu nilai utama dari module:
// user.js
const user = {
name: 'John',
age: 30
};
export default user;Saat mengimpor ekspor default, kamu bisa menggunakan nama apa pun tanpa kurung kurawal:
// app.js
import person from './user.js';
console.log(person.name); // 'John'Kapan menggunakan yang mana? Gunakan named exports saat sebuah module menyediakan beberapa utilitas terkait (misalnya, kumpulan fungsi helper). Gunakan default export saat sebuah module memiliki satu tujuan utama atau nilai utama (misalnya, class, komponen, atau object konfigurasi).
Kamu bisa menggabungkan kedua jenis ekspor dalam satu module:
// vehicle.js
export const wheels = 4;
export const doors = 4;
const car = {
brand: 'Toyota',
model: 'Corolla'
};
export default car;Dan impor semuanya bersama-sama:
// app.js
import myCar, { wheels, doors } from './vehicle.js';
console.log(myCar.brand); // 'Toyota'
console.log(wheels); // 4Tantangan
MudahKamu memiliki dua file. Tugasmu adalah menyiapkan ekspor di calculator.js dan impor di main.js.
- Di
calculator.js: Eksporcalculatesebagai default dansquaresebagai ekspor bernama - Di
main.js: Impor kedua fungsi dengan benar
Pengujian akan memeriksa:
- Ekspor default digunakan untuk
calculate - Ekspor bernama digunakan untuk
square - Kedua impor berfungsi dengan benar
Coba sendiri
// TODO: Impor kedua fungsi dari calculator.js di sini
// Uji
console.log(calculate(10, 5, '+')); // Seharusnya menghasilkan output 15
console.log(square(4)); // Seharusnya menghasilkan output 16Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pemrograman Berorientasi Objek
1Object dan Kata Kunci this
Tinjauan Singkat: objectMenambahkan method ke objectMemahami Kata Kunci thisFungsi KonstruktorKata Kunci newTantangan Rangkuman7Pewarisan & Kata Kunci extends
PewarisanHubungan "is-a"Kata Kunci extendsmethod super()Mewarisi property & methodTantangan Rangkuman2Mengatur Kode
Apa itu module?Mengekspor dengan exportMengimpor dengan importEkspor default vs. ekspor bernama8Mengatur Kode OOP
Mengatur class ke dalam module11Proyek: Perender Bentuk
Penyiapan: class Shape & EksporPewarisan class CircleOverride & Method LuasPenghitung Shape Statis14Sistem Manajemen Perpustakaan
Merancang PerpustakaanClass Book dengan CompositionValidasi Penulis Buku9Method dan property Statis
Level class vs. level instanceProperty StatisMethod Utilitas StatisTantangan RangkumanLatihan sendiri: Compiler JavaScript online