이 글은 편집 검토가 필요합니다. 도울을 줄 수 있는 방법을 살펴보세요.
지정한 조건이 참 인경우 if문은 구문을 실행합니다. 조건이 거짓인 경우 또 다른 구문이 실행 될 수 있습니다.
문법
if (condition) statement1 [else statement2]
condition
- 참 또는 거짓으로 평가되는 표현식입니다.
statement1
- 조건이 참으로 평가될 경우 실행되는 문입니다.
중첩된 if구문을 포함하여 어떤 구문이든 쓸 수 있습니다. 다중구문을 사용할 경우 ({ ... })블럭 구문 으로 그룹화 하고 실행하지 않으려면 빈 구문을 사용합니다.
statement2
- 이 구문은 조건이 거짓일경우 다른 조항이 있을 때 실행되는 구문입니다. 블록 문과 if문의 중첩을 호함한 모든문이 될 수 있습니다.
다중의 if...else문은 else if 절을 중첩하여 만들 수 있습니다. 자바스크립트에서는 else if(한단어)키워드가 존재하지 않습니다.
if (condition1) statement1 else if (condition2) statement2 else if (condition3) statement3 ... else statementN
아래 작업한 것을 보면, if문을 중첩 사용하면 들여쓰기된 것이 제대로 보여집니다.
if (condition1) statement1 else if (condition2) statement2 else if (condition3) ...
절에서 여러 번 구문을 실행하려면 ({ ... })블럭구문을 사용하여 그룹화합니다.
일반적으로, 블럭구문을 항상 사용하는 것은 좋은 연습입니다. 특히 코드내에
중첩된 if문을 사용하면 더욱 좋습니다.
if (condition) { statements1 } else { statements2 }
원래의 Boolean값인 참 거짓 과 Boolean객체에서의 참 거짓은 혼동하지 마세요.
조건문에 전달 될 때 거짓인 부울객체를 포함하여 정의되지 않은 null,0,NaN 또는 빈 문자열("") 및 오브젝트는 참으로 평가됩니다. 예를들면:
var b = new Boolean(false); if (b) // this condition evaluates to true
예시
if...else 사용 시
if (cipher_char === from_char) { result = result + to_char; x++; } else { result = result + clear_char; }
else if 사용 시
자바스크립트에는 elseif 문법이 있지 않습니다. 하지만 당신은 else와 if 사이에 쓸 수 있습니다. :
if (x > 5) { } else if (x > 50) { } else { }
조건식의 값을 지정하기
조건식을 단순하게 지정하는 것은 좋지 않습니다.
왜냐하면, 코드를 흘깃 보면 값을 지정한것을 평등한것으로 혼동할 수 있기 때문입니다. 예를들어, 다음코드를 사용하지 마세요:
if (x = y) { /* do the right thing */ }
당신이 조건식에 값의 지정을 해야할 경우, 일반적인 관행은 그 할당된 것 주위에 추가 괄호를 넣어야 합니다. 예를들면:
if ((x = y)) { /* do the right thing */ }
Specifications
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |