-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
200 Solved초보자를 위한 200제 책 학습을 위한 라벨입니다.초보자를 위한 200제 책 학습을 위한 라벨입니다.JavaScriptJavaScript 관련 라벨입니다.JavaScript 관련 라벨입니다.
Description
Discussed in https://github.com/orgs/Programming-Language-Practice/discussions/39
Originally posted by JoisFe February 12, 2023
10, 11. 조건문 배우기 - if, else if, else
조건문
- 어떤 조건이 참인지 거짓인지에 따라 실행 여부를 결정하는 구문
- 이를 활용하여 조건문에 따라 특정 코드를 실행하게 만들 수도 실행하지 못하게 만들 수 있음
- 자바스크립트의 대표적인 조건문으로 if, switch 가 존재
if (표현식)
명령문
- if 조건문은 표현식을 소괄호 ()로 둘러싼 형태를 가짐
- 이때 표현식에는 의사결정을 할 수 있는 조건문을 작성하면 됨
- 이 조건문의 결과값은 항상 불린형 값으로 반환되어야 함
- if 조건문 결과값이 불린형 true인 경우에만 다음 명령문이 실행 됨
var result = true;
if (result) console.log('result가 참 입니다.');
if (!result)
console.log('실행되지 않아');
if (result) {
console.log('result의 결과');
console.log('>> 참 입니다.');
}
- 변수 result에 불린값 true를 대입
- if (result)의 result가 true(참) 이므로 다음의 명령문이 실행되어 "result가 참 입니다"를 출력
- if (!result)의 !는 인자값을 반대로 변경하여 true 였던 result 변수의 값을 false로 바꿔 변환
- 따라서 if 조건문은 다음 명령문을 실행하지 않아 출력 결과가 없음
- if (result) 다음의 명령문이 한 줄 이상인 경우 중괄호 {}를 통해 블록을 잡을 수 있음
- 변수 result 값이 true 이므로 다음 명령문의 블록을 모두 실행하여 출력
else if, else
- if의 결과값이 false 일 때 추가 실행되는 조건문
var number = 2;
if (number == 1) {
console.log("number는 1");
} else if (number == 2) {
console.log('number는 2');
} else if (number == 3) {
console.log('number는 3');
} else {
console.log('number는 1, 2, 3 중 해당하는 것이 없음');
}
- 변수 number에 숫자 2를 대입하여 선언
- 변수 number가 숫자 1이 아니므로 else if 첫 번째 조건문으로 감
- 조건 true 이기 때문에 'number는 2'가 출력됨
- 밑의 조건문에 가지 않음
- 만약 number = 5 였다면 else 전 조건문 모두 false 이므로 else 의 실행문을 실행 하여 'number는 1, 2, 3 중 해당되는 것이 없음' 이 출력 될 것임
else if, else를 사용하는 방법
- if 조건문 외에 추가적으로 조건식을 추가하고 싶을 때 if의 조건문 뒤에 덧붙여 사용
- 예제처럼 첫 번째 조건식 if (표현식1)과 명령문1을 함께 작성
- 그 다음 조건식은 else if (표현식2)와 명령문2를 아래에 붙이고 다음 조건식들도 그 다음에 연달아 붙임
- 모든 조건식에도 만족되지 않으면 else를 마지막 단락에 작성하여 명령문을 실행
- else if와 else도 중괄호를 활용하여 블록 단위의 여러 명령문을 함께 사용 가능
- 단 중괄호 없이 단일 명령문인 경우에는 들여쓰기를 주의해서 작성해야 함
- 들여쓰기에 따라 명령문 실행의 착오가 생길 수 있으므로 한 문장이더라도 중괄호를 사용하는 것을 권장
Reference
초보자를 위한 JavaScript 200제, 정보문화사, [고재도, 노지연]
Metadata
Metadata
Assignees
Labels
200 Solved초보자를 위한 200제 책 학습을 위한 라벨입니다.초보자를 위한 200제 책 학습을 위한 라벨입니다.JavaScriptJavaScript 관련 라벨입니다.JavaScript 관련 라벨입니다.