HOWTO · JavaScript
JavaScript에서 숫자가 두 값 사이에 있는지 확인
이 기사에서는 JavaScript에서 숫자가 두 값 사이에 속하는지 확인하는 방법을 알아봅니다.
이 페이지의 내용
JavaScript에서 숫자가 두 값 사이에 있는지 확인하려면 두 경계와 비교하고, 두 비교를 논리 AND(&&)로 연결합니다. 예를 들어 number > lower && number < upper는 number가 범위 안쪽에 있는지 엄격하게 확인합니다. 이 방식은 경계값과 같은 값은 제외합니다. 양쪽 끝값도 범위에 포함하려면 대신 >=와 <=를 사용하세요.
JavaScript에서 숫자가 두 값 사이에 있는지 확인하기
범위를 확인하려면 두 가지 비교를 결합합니다. 숫자는 하한보다 크고 상한보다 작아야 합니다. && 연산자는 두 비교가 모두 참일 때만 전체 조건을 참으로 만듭니다. 둘 중 하나라도 거짓이면 숫자는 엄격한 범위 밖에 있습니다.
예를 들어 경계가 10과 50일 때 값 25는 엄격한 범위 확인을 통과합니다. >와 <는 경계값과의 같음을 허용하지 않으므로 10과 50은 통과하지 않습니다. 경계값을 포함하려면 number >= lower && number <= upper라고 작성합니다. 프로그램의 규칙에 맞는 연산자를 선택하세요. ‘사이’라는 표현만으로는 경계값의 포함 여부가 정해지지 않습니다.
숫자 피연산자에 대한 JavaScript 비교 연산자는 불리언 결과를 반환합니다. 자세한 내용은 MDN의 비교 연산자 문서와 논리 연산자 문서를 참고하세요. 아래 예제에서는 값과 두 경계가 모두 숫자이고 하한이 상한보다 작다고 가정합니다.
if 문으로 숫자 범위 확인하기
이름이 있는 조건 판별 함수를 사용하면 범위 규칙을 재사용할 수 있습니다. 이 예제에서는 if 문으로 두 메시지 중 하나를 선택합니다. 예제를 실행해 보세요.
이 섹션의 코드와 표시되는 레이블 또는 출력은 영어로 유지됩니다.
function isBetween(number, lower, upper) {
return number > lower && number < upper;
}
const value = 25;
if (isBetween(value, 10, 50)) {
console.log(`${value} is between 10 and 50`);
} else {
console.log(`${value} is outside the range`);
}
함수는 불리언 값을 반환하므로 조건이 필요한 곳이라면 어디서든 사용할 수 있습니다. 예제의 값에서는 첫 번째 비교인 25 > 10과 두 번째 비교인 25 < 50이 모두 참이므로 if 분기가 실행됩니다. 둘 중 하나라도 거짓이면 제어 흐름은 else로 넘어갑니다. 각 분기에 여러 문장이 필요하거나 분기를 명시적으로 나누는 편이 논리를 이해하기 쉬울 때는 블록 형식이 유용합니다.
삼항 연산자로 숫자 범위 확인하기
두 값 중 하나를 간단히 선택할 때는 같은 조건 판별 함수를 삼항 표현식에서 사용할 수 있습니다. 조건은 ? 앞에 둡니다. ?와 : 사이의 표현식은 조건이 참일 때 선택되고, : 뒤의 표현식은 거짓일 때 선택됩니다.
이 섹션의 코드와 표시되는 레이블 또는 출력은 영어로 유지됩니다.
function isBetween(number, lower, upper) {
return number > lower && number < upper;
}
const value = 25;
const message = isBetween(value, 10, 50)
? `${value} is between 10 and 50`
: `${value} is outside the range`;
console.log(message);
두 예제 모두 isBetween을 사용하므로 이 방식의 양 끝값 처리도 if 예제와 동일하게 엄격합니다. 삼항 표현식은 값을 만들기 때문에 변수에 할당하거나 다른 표현식에 전달할 수 있습니다. 각 분기를 짧게 유지하세요. 중첩된 삼항 표현식이 길어지면 조건과 결과를 한눈에 파악하기 어려워집니다.
if와 삼항 연산자 중 선택하기
분기에서 여러 작업을 수행하거나, 더 복잡한 논리를 처리하거나, 제어 흐름을 명확히 드러내는 편이 좋다면 if를 사용하세요. 간결한 두 값 중 하나를 선택하고 결과도 쉽게 읽을 수 있을 때는 삼항 표현식을 사용하세요. 두 방식은 같은 범위 조건을 사용하므로 조건의 비교 연산자를 바꾸면 어느 쪽에서든 양 끝값 처리 규칙이 달라집니다.
의도한 순서로 경계를 정하세요. 함수가 어느 순서로든 경계값을 받을 수 있다면 확인 전에 순서를 통일하세요. 예를 들어 더 작은 값을 lower에, 더 큰 값을 upper에 할당할 수 있습니다. 비교하기 전에 입력이 숫자인지도 확인하세요. JavaScript 비교 연산자는 다른 형식의 값도 강제 변환할 수 있으며, 그 결과가 애플리케이션의 검증 규칙과 다를 수 있습니다. 사용자가 입력한 데이터라면 먼저 값과 경계를 파싱하고 검증한 다음 범위 조건을 적용하세요.