JavaScript에서는 두 개의 숫자를 입력받아 그 크기를 비교하는 함수를 간단하게 작성할 수 있습니다. 이번 글에서는 num1과 num2라는 두 숫자를 받아 다음과 같이 결과를 반환하는 함수를 만들어 보겠습니다.
num1이 num2보다 큰 경우 →
'greater'를 반환합니다.num2가 num1보다 큰 경우 →
'smaller'를 반환합니다.두 숫자가 같은 경우 →
'equal'을 반환합니다.
구현 코드
아래는 화살표 함수(arrow function)를 사용해 작성한 전체 코드입니다. 추가적으로, 인자가 숫자 타입인지 검사하는 유효성 확인 로직도 포함했습니다.
const compareIntegers = (num1, num2) => {
if(typeof num1 !== 'number' || typeof num2 !== 'number'){
return false;
};
if(num1 > num2){
return 'greater';
}else if(num2 > num1){
return 'smaller';
}else{
return 'equal';
};
};
console.log(compareIntegers(12, 56));
console.log(compareIntegers(72, 56));
console.log(compareIntegers(12, 12));
console.log(compareIntegers(12, 33));실행 결과
위 코드를 실행하면 콘솔에 다음과 같은 출력이 나타납니다.
smaller greater equal smaller
코드 설명
함수의 동작 방식을 단계별로 살펴보면 다음과 같습니다.
타입 검증: 먼저
typeof연산자로 두 인자가 모두 숫자인지 확인합니다. 숫자가 아니라면false를 반환하여 잘못된 입력을 사전에 차단합니다.크기 비교: 조건문(
if / else if / else)을 통해 두 숫자의 대소 관계를 판별하고, 그에 맞는 문자열을 반환합니다.
이처럼 간단한 조건문만으로도 두 숫자의 크기를 명확하게 비교하는 재사용 가능한 함수를 만들 수 있습니다. 실무에서는 이런 로직에 삼항 연산자나 Math.sign() 등을 활용해 더욱 간결하게 표현할 수도 있습니다.