조건문

항상 같은 일만 하는 프로그램은 별로 유용하지 않습니다. 로그인한 방문자에게는 한 메시지를, 낯선 사람에게는 다른 메시지를 보여주는 페이지, 18살은 받지만 12살은 받지 않는 양식, 승리했는지 패배했는지 알려주는 게임이 필요합니다. 이 모든 것은 질문을 던지고 그 답에 따라 행동할 방법이 필요합니다. 이것이 바로 조건문이 하는 일입니다. 어떤 것이 참인지에 따라 실행할 코드를 선택하도록 합니다.
이미 필요한 조각들을 가지고 있습니다. 비교 및 논리 연산자는 참 또는 거짓 답을 제공하며, 이 장은 그에 따라 행동하는 것에 관한 것입니다.
조건이 참일 때만 코드 실행하기
**if 문**은 조건이 참일 때만 코드 블록을 실행합니다. if 단어, 괄호 안에 조건, 중괄호 안에 블록을 작성합니다. 조건이 참이면 블록이 실행됩니다. 그렇지 않으면 JavaScript가 블록을 건너뛰고 계속 진행합니다.
const age = 20;
if (age >= 18) {
console.log("You can enter."); // You can enter.
}조건 age >= 18은 참 또는 거짓입니다. 여기서 age는 20이므로 참이고, 메시지가 출력됩니다. age를 12로 바꾸면 조건이 거짓이므로 블록이 건너뛰어지고 아무것도 출력되지 않습니다.
조건이 거짓일 때 대체 코드가 필요한 경우가 많습니다. 이것이 else의 역할입니다:
const age = 12;
if (age >= 18) {
console.log("You can enter.");
} else {
console.log("Come back when you are older."); // Come back when you are older.
}정확히 둘 중 하나의 블록만 실행되고, 둘 다 실행되지는 않습니다. 두 가지 이상의 결과가 있을 때, else if로 다른 조건을 확인할 수 있습니다:
const score = 74;
if (score >= 90) {
console.log("Grade: A");
} else if (score >= 70) {
console.log("Grade: B"); // Grade: B
} else {
console.log("Grade: C");
}JavaScript는 위에서부터 각 조건을 확인하고 참인 첫 번째에서 멈춥니다. 74는 >= 90은 아니지만 >= 70이므로 Grade: B를 출력하고 else를 확인하지 않습니다.
if는 괄호 안의 조건이 참일 때만 블록을 실행하고, else는 그렇지 않을 때의 대체 코드를 제공합니다. 세 가지 이상의 결과가 있을 때 else if를 추가하세요. JavaScript는 위에서부터 확인하고 첫 번째 일치에서 멈추므로 의미 있는 순서로 조건을 배치하세요. 삼항 연산자로 값 선택하기
때때로 if / else는 작은 작업 하나를 합니다. 두 값 중 하나를 선택하는 것입니다. 이를 위해 **삼항 연산자**라는 더 짧은 형태가 있습니다. 조건을 쓰고, ?를 쓰고, 참일 때 사용할 값을 쓰고, :를 쓰고, 거짓일 때 사용할 값을 씁니다.
const age = 20;
const message = age >= 18 ? "Welcome" : "Too young";
console.log(message); // Welcome이것을 질문으로 읽으세요. age >= 18인가? 그렇다면 message는 "Welcome"이 되고, 그렇지 않으면 "Too young"이 됩니다. 이것은 if / else가 내릴 것과 같은 결정입니다. 한 줄로요.
삼항 연산자는 저장하거나 출력할 값을 선택할 때 최고입니다. 분기가 여러 가지 일을 해야 한다면 if 문이 더 명확하므로, 각 쪽이 단일 값일 때만 삼항 연산자를 사용하세요.
condition ? valueIfTrue : valueIfFalse. 저장하거나 출력할 것을 선택할 때 빛을 발합니다. 분기가 단일 값을 반환하는 것보다 더 많이 해야 한다면, 전체 if를 사용하세요. 더 명확하게 읽힐 것입니다. switch로 고정된 경우에 대해 한 값 비교하기
한 값을 고정된 가능성 목록과 비교할 때, **switch 문**이 긴 if / else if 체인보다 더 깔끔할 수 있습니다. 확인할 값을 제공한 다음 비교할 경우를 나열합니다.
const day = "Tue";
switch (day) {
case "Sat":
console.log("Weekend");
break;
case "Sun":
console.log("Weekend");
break;
default:
console.log("Weekday"); // Weekday
}switch는 day를 각 case와 차례대로 비교합니다. 일치를 찾으면 해당 경우의 코드를 실행합니다. break는 멈추라고 말합니다. 없으면 JavaScript는 다음 경우로 계속 실행합니다. default는 일치하는 경우가 없을 때 실행되는 대체로, 체인의 최종 else와 같습니다.
break 잊기는 클래식 switch 실수입니다. 이를 빠뜨리면 코드는 일치하는 경우를 실행한 다음 break를 만나거나 끝까지 모든 아래 경우를 실행하는데, 이것이 의도한 것은 거의 없습니다.
switch는 한 값을 case 옵션 목록과 비교하고 일치하는 것을 실행하며, default는 포괄적입니다. 각 경우를 항상 break로 끝내세요. 그렇지 않으면 JavaScript가 아래 경우로 계속 실행합니다. 그 누락된 break는 거의 모든 사람이 최소 한 번은 만드는 실수입니다. 올바른 도구 선택하기
이제 결정을 내릴 수 있는 세 가지 방법이 있으며, 선택은 주로 적합성에 관한 것입니다. 대부분의 분기에는 if / else if / else 체인을 사용하세요. 특히 조건이 범위이거나 조합일 때 그렇습니다. 두 값 중 하나를 저장하거나 인쇄할 때 삼항 연산자를 사용하세요. 한 값을 고정된 옵션 목록과 비교할 때 switch를 사용하세요.
이 중 어느 것도 다른 것보다 더 고급이 아닙니다. 결정을 가장 명확하게 표현하는 것을 선택하고, 확실하지 않으면 if 문이 항상 안전한 기본값입니다.
if 체인을 사용하고, 두 값 중 하나를 선택할 때 삼항 연산자를 사용하고, 한 값을 고정 옵션과 일치시킬 때 switch를 사용하세요. 이 중 어느 것도 다른 것보다 멋지지 않습니다. 결정을 가장 명확하게 표현하는 것을 선택하고, 확실하지 않으면 if 문으로 기본값을 설정하세요. 조건문이 여기서 어디로 가는지
조건문은 프로그램이 고정 스크립트를 멈추고 입력에 반응하기 시작하게 합니다. 이를 지속적으로 사용할 것이며, 주변의 모든 것과 결합됩니다. 참 또는 거짓 답은 연산자에서 오고, 여기서 내린 결정은 루프로 데이터에 반복 적용하고 함수로 패키징할 때 보상을 받기 시작합니다.
다음 장인 루프는 제어 흐름의 다른 절반을 추가합니다. 코드를 실행할지 선택하는 것이 아니라, 조건이 멈추라고 할 때까지 반복 실행하는 것입니다.

