JavaScript

[JavaScript] 기초 : 함수와 스코프

로블리제 2024. 7. 10. 18:27

함수와 스코프

자바스크립트에서 함수와 스코프는 코드를 더 구조적이고 재사용 가능하게 만드는 데 중요한 역할을 합니다. 이 포스트에서는 함수와 스코프에 대해 자세히 알아보겠습니다.

함수

함수는 특정 작업을 수행하는 코드 블록입니다. 함수를 정의하고 호출하는 방법은 다음과 같습니다.

함수 정의

javascript코드 복사
function greet(name) {
    return "안녕하세요, " + name + "님!";
}

함수 호출

javascript코드 복사
let greeting = greet("철수");
console.log(greeting); // "안녕하세요, 철수님!"

함수 표현식

javascript코드 복사
let sayHello = function(name) {
    return "Hello, " + name + "!";
};

console.log(sayHello("Alice")); // "Hello, Alice!"

화살표 함수

javascript코드 복사
let add = (a, b) => a + b;
console.log(add(2, 3)); // 5

스코프

스코프는 변수와 함수가 접근할 수 있는 유효 범위를 의미합니다. 자바스크립트에는 전역 스코프와 지역 스코프가 있습니다.

전역 스코프

전역 변수는 코드 전체에서 접근할 수 있습니다.

javascript코드 복사
let globalVar = "전역 변수";

function showGlobalVar() {
    console.log(globalVar); // "전역 변수"
}

지역 스코프

지역 변수는 함수 또는 블록 내에서만 접근할 수 있습니다.

javascript코드 복사
function showLocalVar() {
    let localVar = "지역 변수";
    console.log(localVar); // "지역 변수"
}

showLocalVar();
console.log(localVar); // 오류: localVar is not defined

블록 스코프

let과 const로 선언한 변수는 블록 스코프를 가집니다.

javascript코드 복사
{
    let blockVar = "블록 변수";
    console.log(blockVar); // "블록 변수"
}

console.log(blockVar); // 오류: blockVar is not defined

예제 코드: 함수와 스코프

javascript코드 복사
// 함수 정의 및 호출
function multiply(a, b) {
    return a * b;
}

let result = multiply(4, 5);
console.log(result); // 20

// 전역 스코프와 지역 스코프
let globalVariable = "I am global";

function scopeExample() {
    let localVariable = "I am local";
    console.log(globalVariable); // "I am global"
    console.log(localVariable);  // "I am local"
}

scopeExample();
console.log(globalVariable); // "I am global"
console.log(localVariable);  // 오류: localVariable is not defined

결론

함수와 스코프를 이해하면 자바스크립트 코드를 더 효율적으로 작성할 수 있습니다. 함수는 코드를 재사용 가능하게 만들고, 스코프는 변수의 유효 범위를 관리하는 데 도움을 줍니다.