μ΅λͺ ν¨μμ κΈ°λͺ ν¨μ μΈμ μ¨μΌν κΉ?
π μ΅λͺ ν¨μμ κΈ°λͺ ν¨μ
Javascript
μμ ν¨μλ₯Ό μ μν λ ν¨μμ μ΄λ¦μ μ§μ νμ§ μλ μ΅λͺ
ν¨μ
μ
κ·Έ λ°λμΈ κΈ°λͺ
ν¨μ
λ°©μμΌλ‘ μ μλ₯Ό ν μ μμ΅λλ€.
function getUserName() { /** κΈ°λͺ
ν¨μ */ }
const getUserName = function() { /** μ΅λͺ
ν¨μ */ }
μ μμμ½λμμ κΈ°λͺ
ν¨μ
λ ν¨μ μ μΈλ¬Έ
μ΄κ³ μ΅λͺ
ν¨μ
λ ν¨μ ννμ
λ°©μμ
λλ€.
π μ΄ λμ μ°¨μ΄μ μ?
μ μ μΈ λ°©μμ κ° ν¨μκ° νΈμΆλλ μμ
μ μ°¨μ΄κ° λ°μν©λλ€.
κ°λ¨ν μμλ₯Ό ν΅ν΄ κ° ν¨μλ€μ νΈμΆ λ°©μμ μ΄ν΄λ³΄κ² μ΅λλ€.
μ΅λͺ ν¨μμ νΈμ΄μ€ν
func(); // TypeError: func is not a function
var func = function() {
console.log("μ΅λͺ
ν¨μ");
};
μ΅λͺ
ν¨μλ νΈμ΄μ€ν
μ μν₯μ λ°μ§ μλλ€
λ νΉμ§μ κ°μ§κ³ μμ΅λλ€.
μ€μ λ‘ func
κ° νΈμ΄μ€ν
μ΄ λμ§ μλ κ²μ μλλλ€.
λ€λ§ undefined
λ‘ μ΄κΈ°νλμ΄μκΈ° λλ¬Έμ
ν¨μ μ μΈ μ΄μ μ μμμΉ λͺ»νκ² νΈμΆμ΄ λλ κ²μ λ°©μ§ν μ μμ΅λλ€.
κΈ°λͺ ν¨μμ νΈμ΄μ€ν
func() // κΈ°λͺ
ν¨μ
function func() {
console.log("κΈ°λͺ
ν¨μ")
}
λ°λ©΄ κΈ°λͺ
ν¨μ
λ νΈμ΄μ€ν
μ μν₯μ λ°μ
ν¨μ μ μΈλΆκ° λμ΄μ¬λ €μ Έμ
μ€μ ν¨μ μ μΈ μμΉλ³΄λ€ μ΄μ μ ν¨μλ₯Ό νΈμΆν΄λ λ¬Έμ κ° λ°μνμ§ μμ΅λλ€.
μ΄λ ν¨μ μ μΈ λ° νΈμΆλ°©μμμ μ μ°μ±μ λΆμ¬ν΄μ€ μλ μμ§λ§
μλνμ§ μμ ν¨μ νΈμΆμ νμ©ν μλ μμ΅λλ€.
π κ·Έλ λ€λ©΄ μΈμ 무μμ μ¨μΌν κΉ?
κ·Έλ λ€λ©΄ μ λ ν¨μ μ μΈ λ°©μμ μΈμ μ¬μ©νλ κ²μ΄ μ’μκΉμ?
μ¬μ©νλ μ¬λλ§λ€ μκ²¬μ΄ λ€λ₯Ό μ μμ§λ§ μ λ ν¨μ μ¬μ¬μ©μ±
κ³Ό κΈ°λ₯
μ μ΄μ μ λκ³ μ μν©λλ€.
λ§μ½ ν΄λΉ ν¨μκ° μ¬μ¬μ©λ κ°λ₯μ±μ΄ μκ±°λ λΆλͺ ν λͺ©μ μΌλ‘ μ μλ νμκ° μλ ν¨μλΌλ©΄
ν¨μ μ μΈλ¬Έ
μ μ΄μ©ν΄μ κΈ°λͺ
ν¨μ
λ‘ μ μν©λλ€.
λ°λλ‘ μ¬μ¬μ©λ νμκ° μλ ν¨μλ€μ κ²½μ°μλ μ΅λͺ
ν¨μ
λ₯Ό μ¬μ©νλ κ²μ
λλ€.
μ΄ κ²½μ° IIFE
(μ¦μ μ€ν ν¨μ) λ μ½λ°± ν¨μ
, νΉμ ν΄λ‘μ μμ±
μ μν λͺ©μ μΌλ‘ μ¬μ©ν©λλ€.
μ°Έκ³ μλ£
[JavaScript] ν¨μμ μΈμ(Function Declaration)κ³Ό ν¨μννμ(Function Expression)
javascript ν¨μμ νΈμ΄μ€ν
'π¨βπ» web.dev > js.ts' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[TypeScript] enum κ³Ό union type, μΈμ μ¨μΌν κΉ? (2) | 2022.07.09 |
---|---|
[JavaScript] Array.sort λ μμ μ±μ 보μ₯ν κΉ? (0) | 2022.03.09 |
[TypeScript] js.map νμΌμ 무μμΌκΉ? (0) | 2022.03.07 |
[JavaScript] Object.defineProperty μ λν΄μ (0) | 2022.03.06 |
[JavaScript] Promise.all vs Promise.allSettled (0) | 2022.02.20 |
π¬ λκΈ