Function Declarations
Calling a Function
Parameters and Arguments
β’
λ¬Έμμ΄ μμ parameter κ° λ€μ΄κ°λ κ²½μ° + λ‘ μ°κ²° ν΄μ€λ€.
Default Parameters
μν ν¨μλ₯Ό νΈμΆνμ λ argument κ° undefined μνμ΄κ±°λ μ΄λ ν argument λ ν΅κ³Όνμ§ μμ λ 미리 μ ν΄μ§ parameter λ₯Ό ν΅κ³ΌμμΌμ£Όλ κ²μ΄λ€.
function greeting (name = 'stranger') {
console.log(`Hello, ${name}!`)
}
greeting('Nick') // Output: Hello, Nick!
greeting() // Output: Hello, stranger!
JavaScript
볡μ¬
Return
function rectangleArea(width, height) {
let area = width * height;
}
console.log(rectangleArea(5, 7))
JavaScript
볡μ¬
μμ μ½λμ κ²°κ³Όλ 35 κ° μλ undefined μ΄λ€.
μ μ λ° κ²°κ³Όκ° λμ¬κΉ? 미리 μ ν΄μ§ κ²°κ³Όκ°μ΄ μκΈ° λλ¬Έμ΄λ€. νλΌλ―Έν°μΈ width, height λλ€ default value κ° μκΈ°λλ¬Έμ area λν μ ν΄μ§ μ μλ κ°μ΄ λλ€.
μ΄λ΄λλ μ΄λ»κ² ν΄μΌν κΉ? return μ μ¨μΌνλ€.
Function Expressions
β’
μ¬κΈ°μμ function μ anonymous μ΄λ€. (μ΄λ¦μ΄ λ°λ‘ μλ€)
Arrow Functions
Arrow function μ function μ μ°μ§ μκ³ () μμ νλΌλ―Έν°λ₯Ό λ΄μ β λ₯Ό { } λ‘ ν₯νκ² νλ νν λ°©μμ΄λ€. μμ μμλ₯Ό Arrow Function μΌλ‘ λ°κΎΈλ©΄ λ€μκ³Ό κ°λ€.
const rectangleArea = (width, height) => {
let area = width * height;
return area;
};
JavaScript
볡μ¬
Concise Body Arrow Functions
β’
single-line block μ κ²½μ° return μ μλ΅ ν μ μλ€.
β’
if-else λ¬Έμ κ²½μ° μΌν μ°μ°μλ₯Ό μ¬μ©νλ€.
const plantNeedsWater = day => day === 'Wednesday' ? true : false;
JavaScript
볡μ¬