JS 9-4
조건문
demo8.html
- 논리 연산자2
-
! : not operator 부정, bool값을 역전시킴
if (!true && !true) { alert(1); } //실행안됨 if (!false && !true) { alert(1); } //실행안됨 if (!true && !false) { alert(1); } //실행안됨 if (!false && !false) { alert(4); } //4
-
boolean의 대체제
꼭 true 나 false가 아니어도 bool로 간주되는 값이 있다
-
01 : JS에서 숫자 1은 true로 간주됨
이외의 숫자는 false로 간주함가급적이면 코드를 이런식으로 작성하지는 마라
if (0) { alert(1); } //실행안됨 if (1) { alert(2); } //2
-
기타 false로 간주되는 데이터 형
- ’’: 빈문자열
- a: 값이 할당되지 않은 변수
- NaN: Not a Number
- null: 값이 null로 할당됨
-
undefined: 값이 할당되지 않은 (정의되지 않은) 변수
- NaN: JS에서만 존재하는 ‘숫자가 아니다’를 의미하는 값
- null: 변수는 존재하지만 null로 값이 할당된 상태 즉 자료형이 정해진(defined) 상태 (독일숫자 0)
- undefined:
변수는 존재하지만 어떠한 값도 할당되지않아
자료형이 정해지지(undefined) 않은 상태
if (!"") { alert("빈 문자열"); } //빈 문자열 var a; if (!a) { alert("값이 할당되지 않은 변수"); } //값이 할당되지 않은 변수 if (!NaN) { alert("NaN"); } //NaN if (!null) { alert("null"); } //null if (!undefined) { alert("undefined"); } //undefined //false로 간주되는 값들이므로 !붙여서 alert을 실행시킴
-