조건문 Java스크립트: if, else, else if
⚡ 스마트 요약
조건문 Java스크립트는 조건을 테스트하여 어떤 코드 블록이 실행될지 결정하며, if, if…else, if…else if…else 형식은 초보 스크립트 작성자가 필요로 하는 거의 모든 분기 조건을 다룹니다.
Java스크립트 조건문
조건문에는 크게 세 가지 유형이 있습니다. JavaScript.
- if 문: 'if' 문은 조건에 따라 코드를 실행합니다.
- if…else 문: if…else 문은 두 개의 코드 블록으로 구성됩니다. 조건이 true이면 첫 번째 코드 블록을 실행하고, 조건이 false이면 두 번째 코드 블록을 실행합니다.
- if…else if…else 문: 여러 조건을 테스트해야 하고 어떤 조건이 참인지에 따라 다양한 코드 블록을 실행해야 하는 경우 if…else if…else 문이 사용됩니다.
아래에서는 세 가지 형식 각각에 대한 구문과 실행 가능한 예제를 통해 자세히 살펴보겠습니다. 스크립트가 어떤 위치에 있든 동일한 규칙이 적용됩니다. 페이지 내부 또는 외부 파일그리고 조건이 최상위 레벨에 작성되었는지 아니면 내부에 작성되었는지 여부 기능.
조건문을 사용하는 방법
조건문은 다양한 조건에 따라 실행 흐름을 결정하는 데 사용됩니다. 조건이 true이면 한 가지 작업을 수행할 수 있고, 조건이 false이면 다른 작업을 수행할 수 있습니다.
아래 다이어그램은 이러한 아이디어를 갈림길로 보여줍니다. 단일 조건이 한 번만 평가되고, 제어는 참 분기 또는 거짓 분기 중 하나로만 이동하며, 두 분기 모두로 이동하는 경우는 없습니다.
If 문
구문 :
if(condition) { lines of code to be executed if condition is true }
당신이 사용할 수 if 특정 조건만 확인하려면 다음과 같은 구문을 사용하십시오. 괄호 안의 표현식이 평가될 때 true블록이 실행됩니다. 평가 결과는 다음과 같습니다. false인터프리터는 해당 부분을 바로 건너뛰고 스크립트는 다음 문장으로 넘어갑니다.
직접 시도해 보세요.
<html>
<head>
<title>IF Statments!!!</title>
<script type="text/javascript">
var age = prompt("Please enter your age");
if(age>=18)
document.write("You are an adult <br />");
if(age<18)
document.write("You are NOT an adult <br />");
</script>
</head>
<body>
</body>
</html>
예시에서는 방문자에게 나이를 묻고, 그 값을 두 번 확인합니다. 한 번은 18세 이상인지, 다른 한 번은 18세 미만인지 확인합니다. 두 개의 별개의 값이 있기 때문입니다. if 문장이 사용됩니다. else두 조건 모두 페이지가 로드될 때마다 평가됩니다.
현대적 표현: 위 코드는 게시된 그대로 유지됩니다. 현재 Java일반적으로 스크립트는 동일한 논리로 작성됩니다. let or const 대신 var과 console.log() or textContent 대신 document.write()그리고없이 type="text/javascript" HTML5에서는 선택 사항인 속성입니다.
만약…그렇지 않으면 문장
구문 :
if(condition) { lines of code to be executed if the condition is true } else { lines of code to be executed if the condition is false }
당신은을 사용할 수 있습니다 if...else 하나의 조건을 확인하고 각 결과에 따라 다른 코드 블록을 실행해야 하는 경우에 이 구문을 사용합니다. 두 블록 중 정확히 하나만 항상 실행되므로 별도의 두 번째 테스트는 필요하지 않습니다.
직접 시도해 보세요.
<html>
<head>
<title>If...Else Statments!!!</title>
<script type="text/javascript">
// Get the current hours
var hours = new Date().getHours();
if(hours<12)
document.write("Good Morning!!!<br />");
else
document.write("Good Afternoon!!!<br />");
</script>
</head>
<body>
</body>
</html>
여기에 new Date().getHours() 브라우저 시계의 현재 시간을 0에서 23 사이의 숫자로 반환합니다. 12보다 작은 값은 아침 인사말을 표시하고, 나머지 값은 모두 기본값으로 전달됩니다. else 분기.
만약…그렇다면 만약…그렇다면 문
구문 :
if(condition1) { lines of code to be executed if condition1 is true } else if(condition2) { lines of code to be executed if condition2 is true } else { lines of code to be executed if condition1 is false and condition2 is false }
당신은을 사용할 수 있습니다 if...else if...else 두 개 이상의 조건을 확인하려면 해당 구문을 사용하십시오. 조건은 위에서 아래로 평가되며, 참인 첫 번째 조건에서 실행이 중지되고 마지막 조건이 참일 때 실행이 중지됩니다. else 그 중 어느 것도 일치하지 않을 때 포괄적인 역할을 합니다.
직접 시도해 보세요.
<html>
<head>
<script type="text/javascript">
var one = prompt("Enter the first number");
var two = prompt("Enter the second number");
one = parseInt(one);
two = parseInt(two);
if (one == two)
document.write(one + " is equal to " + two + ".");
else if (one<two)
document.write(one + " is less than " + two + ".");
else
document.write(one + " is greater than " + two + ".");
</script>
</head>
<body>
</body>
</html>
두 번의 호출에 유의하세요. parseInt(). 반환된 값 prompt() 문자열이므로 변환 없이 비교하면 숫자가 아닌 텍스트를 비교하게 되어 "9"가 "10"보다 크다고 보고됩니다.
세 개 한 벌 Operator: if…else의 약어
때 if...else 블록 연산자는 두 값 중 하나만 선택하지만, 조건 연산자(삼항 연산자)는 동일한 결정을 단일 표현식으로 나타냅니다. Java조건, 물음표, 조건이 참일 때 사용되는 값, 콜론, 그리고 조건이 거짓일 때 사용되는 값의 세 가지 피연산자를 받는 스크립트 연산자입니다.
// if...else form let message; if (age >= 18) { message = "adult"; } else { message = "minor"; } // same decision as a ternary expression let label = age >= 18 ? "adult" : "minor";
삼항 연산자는 단순히 줄 수를 줄이기 위해서가 아니라 가독성을 향상시킬 때 사용하십시오.
- 잘 맞음: 템플릿 문자열에 할당, 반환 또는 삽입할 두 값 중 하나를 선택합니다.
- 사이즈가 맞지 않음: 여러 명령문을 실행하거나, 부작용을 위해 함수를 호출하거나, 자체적인 지역 변수가 필요한 분기.
- 중첩을 피하세요: 삼항 연산자 안에 또 다른 삼항 연산자가 있는 구조는 일반적인 삼항 연산자보다 훨씬 읽기 어렵습니다.
else if체인.
switch 문 vs if…else if…else 문
긴 else if 서로 다른 고정값과 동일한 변수를 계속 비교하는 연쇄 반응은 일반적으로 다음과 같이 표현하는 것이 더 명확합니다. switch 문장입니다. switch 문은 표현식을 한 번 평가한 다음 일치하는 문으로 이동합니다. case; break 실행이 다음 케이스로 넘어가는 것을 막고, default 마지막 역할을 맡는다 else.
switch (day) { case "Sat": case "Sun": document.write("Weekend"); break; default: document.write("Weekday"); }
두 구조는 모든 상황에서 서로 바꿔 사용할 수 있는 것은 아닙니다.
| 비교의 지점 | 만약…그렇다면 만약…그렇다면 | 스위치 |
|---|---|---|
| 일종의 테스트 | 범위 등을 포함한 모든 부울 표현식 hours<12 |
고정된 값에 대해서만 동일성을 확인합니다. |
| 비교 사용 | 어떤 연산자를 입력하든 | 엄밀한 비교이므로, "5" 일치하지 않는다 5 |
| 가독성 | 관련없는 몇 가지 조건에 적합 | 하나의 변수에 여러 값이 있는 경우 가장 좋음 |
| 흔한 버그 | 뒤따라오는 것을 잊어버리다 else |
잊어 버리다 break이는 실행이 그대로 진행되도록 합니다. |
진실과 거짓의 가치 Java스크립트 조건
조건은 반드시 비교의 형태일 필요는 없습니다. Java스크립트는 괄호 안에 있는 내용을 먼저 불리언 값으로 변환합니다. 이것이 바로 그 이유입니다. if (name) 유효한 코드입니다. 단 6개의 값만 false로 변환됩니다. false, 0빈 문자열, null, undefined예산 및 NaN나머지 모든 것은 참입니다. 문자열도 포함됩니다. "0"빈 배열과 빈 객체입니다.
초보자용 스크립트에서 발생하는 대부분의 조건문 오류는 다음과 같은 몇 가지 실수에서 비롯됩니다.
- 비교 대신 할당:
if (x = 5)할당을 담당하며 항상 진실합니다.if (x === 5)비교합니다. - 느슨한 평등은 놀라움을 선사합니다:
==비교하기 전에 타입을 변환합니다."" == 0사실입니다. 선호합니다.===. - 교정기가 빠진 경우: 없이
{}위의 예시들과 마찬가지로, 바로 다음 문장 하나만이 해당 분기에 속합니다. - 변환되지 않은 입력: 값
prompt()폼 필드는 문자열입니다.parseInt()orNumber()그것들을 변환합니다. - 접근할 수 없는 분기: 을 확인하십시오.
else if연쇄 반응에서 가장 좁은 조건을 먼저 배치하거나, 더 광범위한 초기 테스트가 항상 우선시됩니다.

