Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript 함수에서 명명된 인수(Named Arguments) 활용하기

JavaScript 함수에서 명명된 인수란?

JavaScript는 Python의 키워드 인수처럼 명명된 인수(named arguments)를 위한 공식 문법을 제공하지 않습니다. 하지만 객체 구조 분해 할당(object destructuring)을 활용하면 동일한 효과를 손쉽게 구현할 수 있습니다. 함수 호출 시 객체 리터럴 형태로 값을 전달하고, 함수 선언부의 매개변수 자리에서 구조 분해와 함께 기본값을 지정하는 방식입니다.

이 방식의 주요 장점은 다음과 같습니다.

  • 인수 순서 무관: 값의 순서를 외울 필요 없이 이름으로 전달하므로 실수가 줄어듭니다.
  • 안전한 기본값 처리: 특정 속성이 누락되더라도 기본값(예: 0)으로 정상적으로 동작합니다.
  • 가독성 향상: 호출 코드만 보아도 어떤 값이 어떤 의미를 가지는지 즉시 파악할 수 있습니다.

예제 코드

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
    body {
        font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    }
    .sample,.result {
        font-size: 18px;
        font-weight: 500;
        color: red;
    }
    .result {
        color: rebeccapurple;
    }
</style>
</head>
<body>
<h1>Named arguments in JavaScript functions</h1>
<div class="sample"></div>
<div class="result"></div>
<button class="Btn">CLICK HERE</button>
<h3>
Click on the above button to call a function and pass above object to it
as argument
</h3>
<script>
    let sampleEle = document.querySelector(".sample");
    let resultEle = document.querySelector(".result");
    sampleEle.innerHTML = "{a:22,b:44,c:55,d:99}";
    function add({ a = 0, b = 0, c = 0, d = 0 }) {
        return a + b + c + d;
    }
    document.querySelector(".Btn").addEventListener("click", () => {
        resultEle.innerHTML += "Sum = " + add({ a: 22, b: 44, c: 55, d: 99 });
    });
</script>
</body>
</html>

코드 설명

  • .sample.result 클래스를 가진 두 개의 div 요소에 각각 샘플 데이터와 계산 결과가 표시됩니다.
  • add() 함수는 매개변수 자리에서 { a = 0, b = 0, c = 0, d = 0 } 형태로 구조 분해를 수행하며, 해당 속성이 전달되지 않으면 기본값 0을 사용합니다.
  • 버튼을 클릭하면 add({ a: 22, b: 44, c: 55, d: 99 })처럼 객체 형태로 인수를 전달하며, 함수는 네 값의 합계인 220을 반환해 화면에 출력합니다.

실행 결과

위 코드를 실행하면 다음과 같은 화면이 나타납니다.

JavaScript 함수에서 명명된 인수(Named Arguments) 활용하기

'CLICK HERE' 버튼을 클릭하면 아래와 같이 계산 결과가 화면에 추가됩니다.

JavaScript 함수에서 명명된 인수(Named Arguments) 활용하기