MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

if...else

지정한 조건이 참 인경우 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

Specification Status Comment
ECMAScript 2017 Draft (ECMA-262)
The definition of 'if statement' in that specification.
Draft  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'if statement' in that specification.
Standard  
ECMAScript 5.1 (ECMA-262)
The definition of 'if statement' in that specification.
Standard  
ECMAScript 3rd Edition (ECMA-262)
The definition of 'if statement' in that specification.
Standard  
ECMAScript 1st Edition (ECMA-262)
The definition of 'if statement' in that specification.
Standard Initial definition

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)

참조

문서 태그 및 공헌자

 이 페이지의 공헌자: Jungmin
 최종 변경: Jungmin,