[JavaScript]λͺ¨λ
λͺ¨λ
λͺ¨λμ κ°λ¨νκ², μλ°μ€ν¬λ¦½νΈ νμΌ νλλΌκ³ ν μ μμ΅λλ€. 볡μ‘νκ³ λ§μ μμ μ½λλ₯Ό κΈ°λ₯μ λ°λΌ κ°κ°μ νμΌλ‘ λλ κ΄λ¦¬νλ©΄
- μ½λλ₯Ό μ’ λ ν¨μ¨μ μΌλ‘ κ΄λ¦¬ν μ μκ³ ,
- λΉμ·ν κΈ°λ₯μ΄ νμν λ λ€λ₯Έ νλ‘κ·Έλ¨μμ μ¬μ¬μ© ν μλ μλ€λ μ₯μ μ΄ μμ΅λλ€.
λͺ¨λ μ€μ½ν
λͺ¨λ νμΌ μμμ μ μΈν λ³μλ μΈλΆμμ μμ λ‘κ² μ κ·Όν μ μλλ‘ λ§μμΌ νλλ°μ. λ€μ λ§ν΄ λͺ¨λμ νμΌ μμμ λͺ¨λ νμΌλ§μ λ 립μ μΈ μ€μ½νλ₯Ό κ°μ§κ³ μμ΄μΌ ν©λλ€.
HTMLνμΌμμ μλ°μ€ν¬λ¦½νΈ νμΌμ λΆλ¬μ¬ λ λͺ¨λ μ€μ½νλ₯Ό κ°κ² νλ €λ©΄ script
νκ·Έμ type
μμ±μ module
μ΄λΌλ κ°μΌλ‘ μ§μ ν΄ μ£Όμ΄μΌ ν©λλ€.
<body>
<script type="module" src="index.js"></script>
</body>
λͺ¨λ λ¬Έλ²
μλ°μ€ν¬λ¦½νΈμ λͺ¨λ λ¬Έλ²μ κΈ°λ³Έμ μΌλ‘ export
μ import
μ
λλ€. λͺ¨λ μ€μ½νλ₯Ό κ°μ§ νμΌμμ μΈλΆλ‘ λ΄λ³΄λ΄κ³ μ νλ λ³μλ ν¨μλ₯Ό export
ν€μλλ₯Ό ν΅ν΄ λ΄λ³΄λ΄κ³ , λͺ¨λ νμΌμμ λ΄λ³΄λΈ λ³μλ ν¨μλ€μ λ€λ₯Έ νμΌμμ import
ν€μλλ₯Ό ν΅ν΄ κ°μ Έμ΅λλ€.
// printer.js
export const title = 'CodeitPrinter';
export function print(value) {
console.log(value);
};
// index.js
import { title, print } from './printer.js';
print(title);
μ΄λ¦ λ°κΏ import νκΈ°
import
ν€μλλ₯Ό ν΅ν΄ λͺ¨λμ λΆλ¬μ¬ λ as
ν€μλλ₯Ό νμ©νλ©΄ import
νλ λμλ€μ μ΄λ¦μ λ³κ²½ν μ μμ΅λλ€. import
ν λ³μλ ν¨μ μ΄λ¦μ μ‘°κΈ λ κ°κ²°ν μ΄λ¦μΌλ‘ λ°κΎΈκ±°λ, νΉμ λ ꡬ체μ μΌλ‘ λ°κΎΈκ³ μΆμ λ νμ©νλ©΄ μ’κ² μ£ ? λΏλ§ μλλΌ μ΄λ¦μ λ°κΏμ import
νλ©΄ μ¬λ¬ νμΌμμ λΆλ¬μ€λ λμλ€μ μ΄λ¦μ΄ μ€λ³΅λλ λ¬Έμ λ₯Ό ν΄κ²°ν μλ μμ΅λλ€.
import { title as printerTitle, print, printArr } from './printer.js';
import { title, data as members } from './members.js';
printer(title);
arrPrinter(members);
νκΊΌλ²μ import νκΈ°
import
ν λ μμΌλμΉ΄λ λ¬Έμ(*)μ as
λ₯Ό νμ©νλ©΄ λͺ¨λ νμΌμμ export
νλ λͺ¨λ λμμ νλμ κ°μ²΄λ‘ λΆλ¬μ¬ μ μμ΅λλ€.
import * as printerJS from './printer.js';
console.log(printerJS.title); // CodeitPrinter
console.log(printerJS.print); // Ζ print(value) { console.log(value); }
νκΊΌλ²μ export νκΈ°
λ³μλ ν¨μ μμ λ§€λ² export
ν€μλλ₯Ό λΆμΌ μλ μμ§λ§, μ μΈλ λ³μλ ν¨μλ₯Ό νλμ κ°μ²΄λ‘ λͺ¨μ νκΊΌλ²μ λ΄λ³΄λΌ μλ μμ΅λλ€. μ΄λ as
ν€μλλ₯Ό νμ©νλ©΄ μ΄λ¦μ λ³κ²½ν΄μ export
ν μλ μμ΅λλ€.
const title = 'CodeitPrinter';
function print(value) {
console.log(value);
}
function printArr(arr) {
arr.forEach((el, i) => {
console.log(`${i + 1}. ${el}`);
});
}
export { title as printerTitle, print, printArr };
default export
export
λ₯Ό ν λ default
ν€μλλ₯Ό ν¨κ» μ¬μ©νλ©΄ λͺ¨λ νμΌμμ κΈ°λ³Έμ μΌλ‘ export
ν λμμ μ ν μ μμ΅λλ€. μΌλ°μ μΌλ‘ λͺ¨λ νμΌμμ export
λμμ΄ νλλΌλ©΄, μ΄ default
ν€μλλ₯Ό ν¨κ» νμ©νλ κ²μ΄ μ‘°κΈ λ κ°κ²°ν μ½λλ₯Ό ꡬμ±νλλ° λμμ΄ λλλ°μ.
const title = 'CodeitPrinter';
function print(value) {
console.log(value);
}
export default print;
default exportλ import
ν λ κΈ°λ³Έμ μΌλ‘ λ€μκ³Ό κ°μ΄ λΆλ¬μ¬ μ μμ§λ§,
import { default as printerJS } from './printer.js';
console.log(printerJS.title); // CodeitPrinter
console.log(printerJS.print); // Ζ print(value) { console.log(value); }
λ€μκ³Ό κ°μ΄ μΆμ½ν λ¬Έλ²μΌλ‘ import
ν μλ μκΈ° λλ¬Έμ
λλ€.
import printerJS from './printer.js';
console.log(printerJS.title); // CodeitPrinter
console.log(printerJS.print); // Ζ print(value) { console.log(value); }
λκΈλ¨κΈ°κΈ°