조건문은 다양한 조건에 따라 다양한 작업을 수행하는 데 사용됩니다.
조건문
일반적으로 코드를 작성할 때 다양한 결정에 대해 항상 다양한 작업을 수행해야 합니다. 코드에서 조건문을 사용하여 이 작업을 수행할 수 있습니다.
JavaScript에서는 다음 조건문을 사용할 수 있습니다.
•if 문 - 지정된 조건이 true인 경우에만 코드를 실행하는 문입니다.
•if...else 문 - 조건이 true인 경우 코드를 실행하고, 조건이 false인 경우 다른 코드를 실행합니다.
•if...else if....else 문 - 실행할 여러 코드 블록 중 하나를 선택하려면 이 문을 사용하세요.
•switch 문 - 실행할 여러 코드 블록 중 하나를 선택하려면 이 문을 사용하세요.
If문
이 문은 지정된 조건이 true인 경우에만 코드를 실행합니다.
문법
참고: 소문자를 사용하세요. 대문자(IF)를 사용하면 JavaScript 오류가 발생합니다!
예
시간이 20:00 미만인 경우 "Good day" 인사말 생성:
x의 결과는 다음과 같습니다.
좋은 하루
직접 시도해 보세요
이 구문에는 ..else..가 없습니다. 지정된 조건이 true인 경우에만 코드를 실행하도록 브라우저에 지시했습니다.
If...else 문
조건이 참일 때 코드를 실행하고, 조건이 거짓일 때 다른 코드를 실행하려면 if....else 문을 사용하세요.
문법
예
시간이 20시 미만이면 "Good day"라는 인사말을 받고, 그렇지 않은 경우에는 "Good evening"이라는 인사말을 받습니다.
x의 결과는 다음과 같습니다.
좋은 하루
직접 시도해 보세요
If...else if...else 문
if...else if...else 문을 사용하여 실행할 여러 코드 블록 중 하나를 선택하세요.
문법
x의 결과는 다음과 같습니다.
좋은 아침입니다
JavaScript에서 if의 조건으로 사용할 수 있는 값은 무엇인가요
1. 부울 변수 true/false
2. 숫자가 0이 아니고 NaN/(0 또는 NaN)이 아닙니다.
아래 예를 참조하세요. 음수가 if 문이 거짓이라는 뜻이라고 생각하지 마세요.
3. 개체가 null이 아닙니다/(null 또는 정의되지 않음)
4. 문자열이 빈 문자열("")/빈 문자열("")이 아닙니다.
요약하자면, 문자열의 경우 if (str!=null && str!=undefine && str !='')를 많이 쓸 필요 없이 한 문장만 사용하면 됩니다
그렇습니다.
숫자가 비어 있지 않은지 판단하려면 isNaN() 함수 사용을 고려해야 합니다. NaN은 자신을 포함한 모든 유형의 데이터와 동일하지 않으며 isNaN()으로만 판단할 수 있습니다. 숫자 유형의 경우 if(a) 문의 a가 0이면 if(a)는 false이고, 0이 아니면 if(a)는 true입니다.
Javascript 튜토리얼: 약어인 경우 if 문을 최적화하는 방법
UglifyJS는 JavaScript를 압축하고 아름답게 만드는 도구입니다. 해당 문서에서 if 문을 최적화하는 여러 가지 방법을 보았습니다. 임시 테스트를 수행하는 데 사용하지는 않았지만 여기에서 js를 아름답게 한다는 것을 알 수 있습니다. 어떤 사람들은 if 문이 그렇게 간단하다고 생각할 수도 있는데, 어느 정도까지 최적화할 수 있습니까? 하지만 다음 방법들을 살펴보시면 마음이 바뀔 수도 있습니다.
1. 일반적인 삼항 연산자를 사용하세요
if (foo) bar(); ==> foo?bar():baz();
if (!foo) bar(); ; foo?baz():bar();
if (foo) return bar(); else return baz(); return foo?bar():baz();
당신은 if 문을 최적화하기 위해 위의 삼항 연산자를 사용하는 것에 확실히 익숙할 것이며 아마도 자주 사용할 것입니다.
Script House의 예시:
출력 결과:
100
2. and(&&) 및 or(||) 연산자를 사용하세요
if (foo) bar(); ==> foo&&bar();
if (!foo) bar();
솔직히 저는 이런 코드를 작성한 적이 없습니다. "Niao 형제의 Linux Private Cooking"을 공부할 때 이런 작성 방법을 본 적은 있지만, js에 구현할 줄은 몰랐습니다.
3. 중괄호를 생략합니다. {}
if (foo) return bar(); else Something() ==> {if(foo)return bar();something()}
당신과 나는 이 작성 방법에 익숙하지만 코드를 최적화할 때 이 방법을 사용하거나 UglifyJS를 사용하여 문제를 해결하는 것이 좋습니다. 결국 중괄호가 하나라도 빠져 있으면 코드의 가독성이 높지 않습니다.
이 글을 쓰면서 jQuery의 아버지가 쓴 "JavaScript 마스터하기"에서 HTML 요소 속성을 얻는 방법이 생각났습니다.
function getAttr(el, attrName){
var attr = {'for':'htmlFor', 'class':'className'}[attrName] || attrName;
};
이렇게 작성하지 않으면 두 개의 if 문을 사용하여 처리해야 할 수도 있습니다. 위 코드는 간결하고 효과적일 뿐만 아니라 가독성도 뛰어납니다.
잘 생각해 보면 문제를 해결하는 효과적인 방법을 찾을 수 있는 경우가 많지만, 더 나은 방법을 찾기 위해 부지런히 노력하는지가 핵심입니다.
[자바스크립트 스킬] if(x==null) 약어
if(x==null) 또는 if (typeof (x) == 'undefine')은 확인되지 않은 if(!x)로 축약될 수 있습니다.
반대로 if(x)는 x가 비어 있지 않음을 의미합니다
객체가 존재하는지 확인