스코프와 함수 구조화

스코프란 무엇인가?

스코프는 변수가 유효한 범위를 의미하는 개념입니다. 즉, 변수가 어디에서 정의되고 사용될 수 있는지를 결정합니다. 스코프는 변수와 함수의 가시성을 관리하며, 변수 충돌을 방지하기 위해 사용됩니다.

자바스크립트에서 스코프는 전역 스코프와 지역 스코프로 나뉩니다. 전역 스코프는 전체 프로그램에 걸쳐 유효한 범위이며, 지역 스코프는 함수 내부에서 유효한 범위입니다.

함수 구조화

함수 구조화는 여러 개의 작은 함수를 만들어 프로그램을 모듈화하는 기법입니다. 큰 함수를 작은 기능 단위로 나누면 코드의 가독성과 재사용성이 향상됩니다. 또한, 오류를 찾고 수정하기가 더 쉬워집니다.

예를 들어, 다음은 하나의 함수로 작성된 코드입니다.

function calculateTotalBill(items) {
    let total = 0;
    for (let i = 0; i < items.length; i++) {
        total += items[i].price;
    }
    if (total > 100) {
        total *= 0.9;
    }
    return total;
}

위의 코드는 하나의 함수로 모든 작업을 처리하고 있습니다. 이를 더 작은 함수로 나누어 구조화해보겠습니다.

function calculateTotalBill(items) {
    let total = calculateSubtotal(items);
    total = applyDiscount(total);
    return total;
}

function calculateSubtotal(items) {
    let subtotal = 0;
    for (let i = 0; i < items.length; i++) {
        subtotal += items[i].price;
    }
    return subtotal;
}

function applyDiscount(total) {
    if (total > 100) {
        total *= 0.9;
    }
    return total;
}

위의 코드에서는 calculateTotalBill 함수를 작은 함수인 calculateSubtotal과 applyDiscount 함수로 나누어 구조화했습니다. 이렇게 함수를 구조화하면 코드가 더욱 명확해지고 유지보수가 더 용이해집니다.

#스코프 #함수구조화