연산자에 대해 질문이 있습니다 :)
복습 과정 중, 전에는 그냥 지나쳤던 것이 질문이 되어
하나 여쭙게 되었습니다.
n은 수식으로 나타내면
2≤ n ≤ 9 의 범위에 해당합니다.
그러나 if ( 2 <= n <= 9)라 하면 해당 범위가 아닌 숫자들도 계산이 되는데, 이 이유가 혹시 어떤 것때문인가요?
<script>
var n = Number(prompt("몇 단을 출력할까요?"))
// 원하는 값이 있으면 var n = x;
if (n >= 2 && n <= 9) { // if ( 2 <= n <= 9) // 이 식이 성립되지 않는 이유는 뭔가요??
var i = 1;
while(i <= 9) {
document.write(n + " * " + i + " = " + (n * i) + "<br>");
console.log(n + " * " + i + " = " + (n * i));
i++;
}
} else {
document.write("2 이상, 9 이하의 값만 입력할 수 있습니다.");
console.log("2 이상, 9 이하의 값만 입력할 수 있습니다.");
}
</script>
답변 1
1
답변 늦어서 죄송하고 재밌는 질문을 올려 주셨네요.
JS는 수학과 달리 2 <= n <= 9 를 동시에 처리하지 못하고 순서대로 처리합니다.
즉 if ((2 <= n) <= 9) 가 되는 거죠
그리고 이 경우 true는 1, false 는 0으로 간주됩니다.
n = 2 이상이라면 (ex: 100)
2 <= n : true
true <= 9 // 1 <= 9 이므로 참
n = 1 이라면
2 <= n: false
true <= 9 // 0 <= 9 이므로 참
그래서 어떤 경우라도 참이 되므로 코드가 원하는 대로 돌아가지 않습니다.
push 도중 "오류가 나면서 완료됨." 문제 해결
0
269
0
세 번째 프로그램 관련 질문입니다
0
253
0
submit때마다 print된 구구단을 지우고 싶어요..
0
361
1
this 질문
0
215
0
질문드립니다!
0
246
0
동영상 권한 문제
0
397
2
뒤집는 기능, 일치 여부 기능 구현해봤습니다 .
1
244
1
코드 어디서 확인할수있나요..???
1
240
1
소스트리 자꾸 꺼지는 현상
0
286
1
질문 드립니다.
1
200
1
질문 드립니다.
0
275
2
질문 드립니다.
1
187
1
줄바꿈
1
257
1
else 생략
0
797
1
지금까지 들었는데
0
269
3
질문있습니다! var과 let
0
197
1
질문 있습니다!
1
231
1
안녕하세요 선생님, 질문있습니다.
1
186
1
let이 재선언이 됩니다! 그리고 참고 링크가 사라진듯 해요.
1
237
1
예제1번 질문있습니다.
1
243
3
숫자로 변환할때 변수을 새로 만들어 줄 필요가 있는지 궁금해요 !!
0
225
2
javascript 강의 시작합니다 !!
0
179
0
'변수 이름 잘 짓기'가 코딩 3대 난제라면 나머지 두 개는 뭘까요??(내용무)
1
449
1
라이브 코딩 보는곳좀요!
0
396
3





