Varsayılan ve Adlandırılmış Dışa Aktarmalar
Coddy'nin JavaScript Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 10 / 56.
JavaScript modüllerinde, kodunuzu dışa aktarmak için iki ana yolunuz vardır: adlandırılmış dışa aktarmalar (named exports) ve varsayılan dışa aktarmalar (default exports).
Adlandırılmış Dışa Aktarmalar (Named Exports), bir modülden birden fazla değer dışa aktarmanıza olanak tanır:
// math.js
export function add(a, b) {
return a + b;
}
export function subtract(a, b) {
return a - b;
}Adlandırılmış dışa aktarmaları (named exports) içe aktarırken, süslü parantezler içinde tam olarak aynı adları kullanmalısınız:
// app.js
import { add, subtract } from './math.js';
console.log(add(5, 3)); // 8
console.log(subtract(10, 4)); // 6Adlandırılmış bir içe aktarmayı yeniden adlandırmanız gerekirse, bir takma ad oluşturmak için as anahtar kelimesini kullanın:
// app.js
import { add as sum, subtract as minus } from './math.js';
console.log(sum(5, 3)); // 8
console.log(minus(10, 4)); // 6Varsayılan Dışa Aktarmalar (Default Exports), bir modülden tek bir ana değeri dışa aktarmanıza olanak tanır:
// user.js
const user = {
name: 'John',
age: 30
};
export default user;Bir varsayılan dışa aktarmayı (default export) içe aktarırken, süslü parantezler kullanmadan istediğiniz herhangi bir ismi kullanabilirsiniz:
// app.js
import person from './user.js';
console.log(person.name); // 'John'Hangisi ne zaman kullanılmalı? Bir modül birden fazla ilişkili yardımcı araç (örneğin, bir yardımcı fonksiyonlar koleksiyonu) sağladığında named exports kullanın. Bir modülün tek bir birincil amacı veya ana değeri olduğunda (örneğin, bir sınıf, bir bileşen veya bir yapılandırma nesnesi) bir default export kullanın.
Her iki dışa aktarma türünü de tek bir modülde birleştirebilirsiniz:
// vehicle.js
export const wheels = 4;
export const doors = 4;
const car = {
brand: 'Toyota',
model: 'Corolla'
};
export default car;Ve bunları birlikte içe aktarın:
// app.js
import myCar, { wheels, doors } from './vehicle.js';
console.log(myCar.brand); // 'Toyota'
console.log(wheels); // 4Görev
Kolayİki dosyanız var. Göreviniz calculator.js dosyasında dışa aktarmaları (exports) ve main.js dosyasında içe aktarmaları (imports) ayarlamaktır.
calculator.jsiçinde:calculatefonksiyonunu default olarak vesquarefonksiyonunu named (isimlendirilmiş) olarak dışa aktarınmain.jsiçinde: Her iki fonksiyonu da doğru şekilde içe aktarın
Testler şunları kontrol edecektir:
calculateiçin varsayılan (default) dışa aktarma kullanıldı mısquareiçin isimlendirilmiş (named) dışa aktarma kullanıldı mı- Her iki içe aktarma da doğru çalışıyor mu
Kopya kağıdı
Adlandırılmış Dışa Aktarmalar (Named Exports) — birden fazla değeri tam adıyla dışa aktarın ve içe aktarın:
// math.js
export function add(a, b) { return a + b; }
export function subtract(a, b) { return a - b; }
// app.js
import { add, subtract } from './math.js';
import { add as sum } from './math.js'; // "as" ile takma adVarsayılan Dışa Aktarmalar (Default Exports) — tek bir ana değeri dışa aktarın; herhangi bir adla, süslü parantez kullanmadan içe aktarın:
// user.js
export default { name: 'John', age: 30 };
// app.js
import person from './user.js';Her İkisini Birleştirme — varsayılan içe aktarma önce gelir, adlandırılmış içe aktarmalar süslü parantez içindedir:
// vehicle.js
export const wheels = 4;
export default { brand: 'Toyota', model: 'Corolla' };
// app.js
import myCar, { wheels } from './vehicle.js';Hangisi ne zaman kullanılır: birden fazla ilgili yardımcı işlev için adlandırılmış dışa aktarmaları kullanın; bir modülün tek bir birincil değeri (sınıf, bileşen, yapılandırma) için varsayılan dışa aktarmayı kullanın.
Kendin dene
// YAPILACAK: Her iki fonksiyonu da buradan calculator.js dosyasından içe aktarın
// Test
console.log(calculate(10, 5, '+')); // 15 çıktısını vermeli
console.log(square(4)); // 16 çıktısını vermeliBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Nesne Yönelimli Programlama bölümündeki tüm dersler
1Nesneler ve this Anahtar Kelimesi
Hızlı Tekrar: NesnelerNesnelere Metot Eklemethis Anahtar Kelimesini AnlamakYapıcı Fonksiyonlarnew Anahtar KelimesiGenel Tekrar Uygulaması7Kalıtım ve extends Anahtar Kelimesi
Kalıtım"is-a" İlişkisiextends Anahtar Kelimesisuper() MetoduÖzellikleri ve Metotları DevralmaÖzet Meydan Okuması2Kodu Düzenleme
Modüller Nedir?export ile Dışa Aktarmaimport ile İçe AktarmaVarsayılan ve Adlandırılmış Dışa Aktarmalar8OOP Kodunu Düzenleme
Sınıfları Modüller Halinde Düzenleme6Proje: Basit Bir Banka Hesabı
BankAccount SınıfıPara Yatırma ve Para Çekme9Statik Metotlar ve Özellikler
Sınıf Düzeyi ve Örnek DüzeyiStatik ÖzelliklerStatik Yardımcı MetotlarÖzet Meydan Okuma12Getter ve Setter'lar
get ve set Anahtar KelimeleriHesaplanmış ÖzelliklerDoğrulama ve Yan EtkilerÖzet Meydan Okuması15Final Meydan Okumaları
Oyun Karakteri OluşturucuE-ticaret Ürün SistemiÜniversite Yönetim SistemiAkıllı Ev Cihaz Sistemi