서로 배타적인 조건의 여러 경로를 처리합니다.
if가 거짓이면 else if를 순서대로 검사하고 모두 거짓이면 else가 실행됩니다. 위에서 먼저 참이 된 한 블록만 실행되므로 구체적인 조건을 앞에 둡니다.
score가 82이므로 첫 조건 score >= 90은 false, 두 번째 score >= 80은 true가 되어 grade에 B가 들어가고, 뒤에 남은 else if와 else는 검사하지도 않습니다. 이 예제는 분기마다 문장이 하나뿐이라 중괄호 없이 썼고, 마지막 else가 있어서 grade가 undefined로 남는 경우가 생기지 않습니다.
else if는 별도 문법이 아니라 else 뒤에 if 문 하나가 이어진 모양입니다. 중괄호를 생략하면 else는 가장 가까운 if에 붙기 때문에, if 안에 또 다른 if를 중괄호 없이 넣으면 바깥 if에 붙이려던 else가 안쪽 if의 else로 해석됩니다.
score >= 70을 score >= 90보다 먼저 두면 95점도 앞 조건에서 끝나 C가 됩니다.
직접 바꿔보세요60점 미만은 F가 되도록 경로를 추가하세요.