μ΄λ³΄λΆν° μ λ¬Έκ°κΉμ§ λ¨κ³λ³ λͺ¨λλ¬ μ½λ κ°λ° κ°μ΄λ
μλ‘
μ½λ κ°λ°μ νλ μ¬νμμ λ§€μ° μ€μν κΈ°μ μ€ νλλ‘ μ리 μ‘μμ΅λλ€. μ΄λ³΄μλΆν° μ λ¬Έκ°κΉμ§ λͺ¨λ κ°λ°μκ° λͺ¨λλ¬ μ½λλ₯Ό νμ©ν μ μλ λ°©λ²μ μμ보λ κ²μ νμμ μ λλ€. λͺ¨λλ¬ μ½λλ μ½λλ₯Ό κ΄λ¦¬νλ λ° μμ΄ ν¨μ¨μ±μ λμ΄κ³ , μ μ§λ³΄μ λ° νμ₯μ±μ μ©μ΄νκ² νμ¬, λ λμκ° νμ κ°μ νμ μ μ΄μ§νλ λ° λ§€μ° μ€μν μν μ ν©λλ€. μ΄ κΈμμλ μ΄λ³΄λΆν° μ λ¬Έκ°κΉμ§ λ¨κ³λ³λ‘ λͺ¨λλ¬ μ½λ κ°λ°μ λν κ°μ΄λλ₯Ό μ 곡νκ² μ΅λλ€.
λͺ¨λλ¬ μ½λμ μ€μμ±
λͺ¨λλ¬ μ½λλ 볡μ‘ν νλ‘κ·Έλ¨ μμ±μ λ¨μννλ λ° λμμ μ€λλ€. κ° κΈ°λ₯μ λͺ¨λλ‘ λλμ΄ λ 립μ μΌλ‘ κ°λ°ν μ μκ² νλ©°, μ΄λ‘ μΈν΄ κ°λ°μλ€μ νΉμ λͺ¨λμλ§ μ§μ€νμ¬ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, λκ·λͺ¨ μΉ μ ν리μΌμ΄μ κ°λ° μ μ¬μ©μ μΈμ¦ λͺ¨λ, λ°μ΄ν°λ² μ΄μ€ λͺ¨λ, μ¬μ©μ μΈν°νμ΄μ€ λͺ¨λ λ±μΌλ‘ λλμ΄ κ° νμμ΄ νΉμ λͺ¨λμ μ§μ€ν μ μλλ‘ ν μ μμ΅λλ€. μ΄λ νμν¬λ₯Ό κ°ννκ³ νλ‘μ νΈ μ 체μ μ§ν μν©μ μΆμ νλ λ° μ 리ν©λλ€.
λͺ¨λλ¬ μ½λμ κΈ°μ΄ μ΄ν΄
λͺ¨λλ¬ μ½λλ₯Ό μ΄ν΄νκΈ° μν΄μλ λ¨Όμ λͺ¨λμ΄λΌλ κ°λ μ νμ€ν νλ κ²μ΄ νμν©λλ€. λͺ¨λμ νΉμ κΈ°λ₯μ ν¬ν¨νλ μ½λμ μ§ν©μΌλ‘, λ 립μ μΌλ‘ μ€ν κ°λ₯νλ©° λ€λ₯Έ μ½λμ μ½κ² κ²°ν©λ μ μμ΅λλ€. μΌλ°μ μΌλ‘ μ½λλ₯Ό λͺ¨λννλ©΄ μ½λμ μ¬μ¬μ©μ±μ΄ λμμ§κ³ , λ²κ·Έ μμ μ΄ μ©μ΄ν΄μ§λλ€.
λͺ¨λμ μ μ λ° μλ μ리
λͺ¨λμ ν΄λμ€, ν¨μ, λλ μ 체 λͺ¨λμ ν¬ν¨λ κΈ°λ₯ λ±μΌλ‘ ꡬμ±λ μ μμ΅λλ€. μλ₯Ό λ€μ΄, μλ°μ€ν¬λ¦½νΈμμλ import
μ export
ν€μλλ₯Ό μ¬μ©νμ¬ λͺ¨λμ κ°λ¨ν μ μνκ³ μ¬μ©ν μ μμ΅λλ€. μ΄λ νλμ νμΌμμ λ€μν κΈ°λ₯μ μ μνκ³ , λ€λ₯Έ νμΌμμ λΆλ¬μ μ¬μ©ν μ μλλ‘ ν΄μ€λλ€. μ΄λ₯Ό ν΅ν΄ μ μ§λ³΄μμ μ©μ΄μ±κ³Ό μ½λμ κ°λ
μ±μ λμΌ μ μμ΅λλ€.
javascript
// math.js
export function add(a, b) {
return a + b;
}
// main.js
import { add } from './math.js';
console.log(add(2, 3)); // 5
μμ κ°μ ꡬ쑰λ μ½λμ μ¬μ¬μ©μ±μ κ·Ήλννλ©°, νμ λ€λ₯Έ λ©€λ²κ° μμ±ν μ½λλ₯Ό μμ½κ² μ¬μ©ν μ μκ² ν©λλ€.
μ΄λ³΄μλ₯Ό μν λͺ¨λλ¬ μ½λ μ€κ³
μ무리 κΈ°λ³Έμ μΈ λͺ¨λ μ€κ³λΌ νλλΌλ, μ΄λ³΄μλ λͺ κ°μ§ μμΉμ λ°λ₯΄λ κ²μ΄ μ€μν©λλ€. 첫째, κΈ°λ₯ λ³λ‘ λͺ¨λμ λλμ΄μΌ ν©λλ€. λμ§Έ, λͺ¨λμ λ 립μ μΌλ‘ ν μ€νΈν μ μμ΄μΌ ν©λλ€. λ§μ§λ§μΌλ‘, λͺ νν μΈν°νμ΄μ€λ₯Ό μ μνμ¬ λ€λ₯Έ κ°λ°μκ° μ½κ² μ¬μ©ν μ μλλ‘ ν΄μΌ ν©λλ€.
λͺ¨λ μ€κ³ μμΉ
- λ¨μΌ μ± μ μμΉ: κ° λͺ¨λμ λ± νλμ μ± μλ§ κ°μ ΈμΌ νλ©°, κ·Έ μ± μμ μ μνν΄μΌ ν©λλ€. μλ₯Ό λ€μ΄, μ¬μ©μ μΈμ¦κ³Ό μ¬μ©μ νλ‘ν κ΄λ¦¬ κΈ°λ₯μ κ°μ λͺ¨λμ λ£μ§ λ§κ³ , κ°κ°μ λͺ¨λλ‘ λΆλ¦¬ν΄μΌ ν©λλ€.
- νμ₯μ±: λͺ¨λμ μ€κ³ν λλ λ―Έλμ κΈ°λ₯μ΄ μΆκ°λ κ°λ₯μ±μ μΌλμ λμ΄μΌ ν©λλ€. μλ‘μ΄ κΈ°λ₯μ΄ μΆκ°λλλΌλ κΈ°μ‘΄ μ½λλ₯Ό ν¬κ² μμ νμ§ μκ³ λ κ°λ₯νκ² μ€κ³λ₯Ό ν΄μΌ ν©λλ€.
- λͺ νν μΈν°νμ΄μ€: κ° λͺ¨λμ΄ λ€λ₯Έ λͺ¨λκ³Ό μ΄λ»κ² μνΈμμ©νλμ§ λͺ ννκ² μ μν΄μΌ ν©λλ€. μλ₯Ό λ€μ΄, API νμμΌλ‘ λ°μ΄ν° μ μ‘ λ°©μμ μ μνλ©΄ λ€λ₯Έ κ°λ°μκ° μ½κ² μ΄ν΄νκ³ μ¬μ©ν μ μκ² λ©λλ€.
μ€κΈ μ¬μ©μμκ² μ ν©ν λͺ¨λ μ‘°μ λ°©λ²
μ€κΈ μ¬μ©μλΌλ©΄, λͺ¨λμ νμ©νμ¬ ν¨μ¨μ μΌλ‘ μ½λλ₯Ό μμ±νλ λ°©λ²μ μ΄ν΄νλ κ²μ΄ μ€μν©λλ€. μ€κΈμλμ΄μ κΈ°λ³Έμ μΈ λͺ¨λ μ€κ³λ₯Ό λμ΄ λ³΅μ‘ν λͺ¨λ κ°μ κ΄κ³λ₯Ό μ΄ν΄νκ³ , μ΄λ₯Ό ν΅ν΄ μ½λμ νμ§μ ν₯μμν¬ μ μμ΄μΌ ν©λλ€.
λͺ¨λ κ° ν΅μ λ°©λ²
λͺ¨λ κ°μ ν΅μ λ°©λ²μ μ¬λ¬ κ°μ§κ° μμ΅λλ€. μΌλ°μ μΌλ‘ μ¬μ©λλ λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€:
- μ½λ°± ν¨μ: νΉμ λͺ¨λμ΄ μ²λ¦¬ μμ μ μλ£νμ λ λ€λ₯Έ λͺ¨λμκ² μ νΈλ₯Ό λ³΄λΌ μ μμ΅λλ€.
- μ΄λ²€νΈ μμ€ν : μ¬μ¬μ© κ°λ₯ν μ΄λ²€νΈλ₯Ό μ μνμ¬ λͺ¨λ κ°μ μμ¬μν΅μ λ³΄λ€ μΈλ ¨λκ² μ²λ¦¬ν μ μμ΅λλ€.
- μν κ΄λ¦¬: Reduxμ κ°μ μν κ΄λ¦¬ ν¨ν΄μ μ¬μ©νμ¬ λ°°μ΄μ΄λ κ°μ²΄λ‘ μ¬λ¬ λͺ¨λμ μνλ₯Ό μ€μ μ§μ€μμΌλ‘ κ΄λ¦¬ν μ μμ΅λλ€.
javascript
// callback example
function processInput(input, callback) {
// processing...
callback(output);
}
μ λ¬Έκ°λ₯Ό μν λͺ¨λλ¬ μ½λ μ΅μ ν
μ λ¬Έκ°λΌλ©΄, κ³ κΈ κΈ°λ₯ λ° μ±λ₯ μ΅μ νμ μ§μ€ν΄μΌ ν©λλ€. μ΄ λ¨κ³μμλ λͺ¨λ κ΄λ¦¬λΏ μλλΌ μ½λμ μ±λ₯κ³Ό ν¨μ¨μ±κΉμ§ κ³ λ―Όν΄μΌ ν©λλ€.
μ±λ₯ κ°μ μ μν μ΅μ ν κΈ°λ²
- Lazy loading: νμν λλ§ λͺ¨λμ λ‘λνμ¬ μ ν리μΌμ΄μ μ΄κΈ° λ‘λ© μλλ₯Ό κ°μ ν©λλ€.
- μ½λ μ€ν리ν : μ 체 μ½λλ₯Ό μ¬λ¬ νμΌλ‘ λλμ΄ μ¬μ©μκ° νμν κΈ°λ₯λ§ λ‘λνλλ‘ ν©λλ€. μ΄λ₯Ό ν΅ν΄ μ΄κΈ° λ‘λ© μλλ₯Ό κ·Ήλνν μ μμ΅λλ€.
- λ°μ΄ν° μΊμ±: λ°μ΄ν° μμ² μ, μλ΅ κ²°κ³Όλ₯Ό μΊμ±νμ¬ μ€λ³΅ μμ²μ μ€μ΄λ λ°©λ²λ μ±λ₯ κ°μ μ ν° λμμ΄ λ©λλ€.
javascript
// Lazy loading example
function loadModule() {
import('./module.js').then(module => {
module.default();
});
}
κ²°λ‘
λͺ¨λλ¬ μ½λ κ°λ°μ μ΄λ³΄μλΆν° μ λ¬Έκ°κΉμ§ λͺ¨λ κ°λ°μκ° κ°μΆμ΄μΌ ν νμ μ€ν¬μ λλ€. κ° λ¨κ³λ³λ‘ μ μ ν μ€κ³ μμΉμ λ°λ₯΄κ³ , λͺ¨λ κ°μ κ΄κ³λ₯Ό μ΄ν΄νλ©°, μ±λ₯ κ°μ μ μν λ€μν κΈ°λ²μ μ μ©νλ κ²μ΄ μ€μν©λλ€. μ΄λ¬ν κ³Όμ μ ν΅ν΄ μ¬λ¬λΆμ λμ± κ²¬κ³ νκ³ ν¨κ³Όμ μΈ μννΈμ¨μ΄λ₯Ό κ°λ°ν μ μμ κ²μ λλ€. μ΄μ μ¬λ¬λΆμ μ½λλ₯Ό λͺ¨λννκ³ , μ΄ κ°μ΄λλ₯Ό μ°Έμ‘°νμ¬ ν¨μ¨μ μΈ κ°λ°μ μμν΄ λ³΄μΈμ.
λ©ν μ€λͺ : "μ΄λ³΄λΆν° μ λ¬Έκ°κΉμ§ λ¨κ³λ³ λͺ¨λλ¬ μ½λ κ°λ° κ°μ΄λ: ν¨μ¨μ μΈ μ½λ μ€κ³μ νμ© λ°©λ²."
#μ½λ κ°λ°, #λͺ¨λλ¬ μ½λ, #μννΈμ¨μ΄ κ°λ°, #νλ‘κ·Έλλ°, #κ°λ°μ, #νμ , #μ½λ μ΅μ ν, #λͺ¨λ λμμΈ, #νλ‘κ·Έλλ° κΈ°λ³Έ, #μΉ κ°λ°