JS환경에서 숫자 범위 지정은 다른 의미를 가진다.
JS 코드를 작성할 때 변수 num1의 범위에 대한 코드를 다음 두가지를 작성했을 때 어떤 차이가 있을까?
function solution(num){
var answer = 0;
if(0 <= num1 <= 10000){
...
}
function solution(num1) {
var answer;
if (0 <= num1 && num1 <= 10000){
...
}
1ST CASE일 경우 JS환경에서 0<= num1 <= 10000 같은 표현은 우리 의도대로 작동하지 않는다.
우리의 의도는 변수 num1의 값에 대해 범위를 지정하여, 그 범위 내에서 변수값을 입력하여 if 문이든 for문이든 코드를 실행하려는것 이겠지만,
0<= num1에서 'true' 혹은 'false'를 반환하고, 그 결과가 true(1) 또는 false(0)으로 변환되어 그 값은 10000과 비교되기 때문에 논리적인 문제와 표현식에 오류가 발생하는것이다.
올바른 표현은 2ST CASE처럼 각 변수에 대해 개별적으로 범위를 검사하는 코드를 작성하는 것이다.
(0 <= num1 && num1 <= 10000)