var x = Number("0");
var z = "";
if (x == "") {
alert("값을 입력해 주세요");
}
if (x == 0) {
alert("값을 입력해 주세요");
}
if (z == "") {
alert("값을 입력해 주세요");
}
if (z == 0) {
alert("값을 입력해 주세요");
}
아무생각 없이 Number로 변환 해놓고 값 입력 체크를 저렇게 하고 있었다. 잘못 체크는 하고 있었지만 그래도 숫자가 아무거나 입력이 되면 체크를 통과 할 줄 알았는데 0이 입력되면 체크에 걸린다. 아마도 javascript에서 "", 0 은 동일하게 보는듯 하다. 결과는 모두 얼럿이 발생 한다.
추가로 자바스크립트 자료형에서 false로 반환되는 값은 "", null, undefined, 0, NaN 이 있다.
var x = ""
if (!x) {
alert("값을 입력해주세요");
}else {
alert("값을 입력했습니다.");
}