JavaScript로 인라인 IF 문을 작성하는 방법은 무엇입니까? 인라인 else문도

ifJavaScript에서 인라인 문을 어떻게 사용 합니까? 인라인 else문도 있습니까?

이 같은:

var a = 2;
var b = 3;

if(a < b) {
    // do something
}



답변

반드시 jQuery가 필요하지는 않습니다. JavaScript만으로도 가능합니다.

var a = 2;
var b = 3;    
var c = ((a < b) ? 'minor' : 'major');

c변수 것 minor값 인 경우 true, 및 major값이면 false.


이것을 조건부 (삼항) 연산자라고합니다.

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Conditional_Operator


답변

if명령문을 인라인으로 작성 하려면 코드 내부의 코드는 하나의 명령문이어야합니다.

if ( a < b ) // code to be executed without curly braces;


답변

다음과 같이 삼항 연산자가 있습니다.

var c = (a < b) ? "a is less than b"  : "a is not less than b";


답변

논리 연산자 만 사용하여 if / else를 근사화 할 수도 있습니다.

(a && b) || c

위의 내용은 다음과 같습니다.

a ? b : c

그리고 물론 대략 다음과 같습니다.

if ( a ) { b } else { c }

나는이 접근법에 하나의 차이점이 있기 때문에 대략 말한다. 값이 b참으로 평가 된다는 것을 알아야한다는 것입니다. 그렇지 않으면 항상 얻을 것 c입니다. 근본적으로 당신은 나타날 if () { here }부분이 이제 당신이 놓은 조건 의 일부라는 것을 알아야합니다 if ( here ) { }.

논리식을 형성 한 원래 값 중 하나를 전달 / 반환하는 JavaScript 동작으로 인해 위와 같은 것이 가능합니다. 이는 연산자의 유형에 따라 다릅니다. PHP와 같은 일부 다른 언어는 연산의 실제 결과, 즉 true 또는 false를 수행합니다. 즉 결과는 항상 true 또는 false입니다. 예 :

14 && 0          /// results as 0,  not false
14 || 0          /// results as 14, not true
1 && 2 && 3 && 4 /// results as 4,  not true
true && ''       /// results as ''
{} || '0'        /// results as {}

일반적인 if 문과 비교할 때 한 가지 주요 이점은 처음 두 가지 방법이 인수의 오른쪽에서 즉 할당의 일부로 작동 할 수 있다는 것입니다.

d = (a && b) || c;
d = a ? b : c;

if `a == true` then `d = b` else `d = c`

표준 if 문으로 이것을 달성하는 유일한 방법은 어설 션을 복제하는 것입니다.

if ( a ) { d = b } else { d = c }

당신은 요청할 수 있습니다 사용하는 이유 단지 논리 연산자 대신의 삼항 연산자 간단한 경우에, 당신이 아마 것, 당신이 있는지 확인하고 싶어하지 않는 ab모두 사실. 또한 논리 연산자를 사용하여보다 간소화 된 복잡한 조건을 달성 할 수 있습니다.이 연산자는 중첩 된 삼항 연산을 사용하면 상당히 혼란 스러울 수 있습니다. 그런 다음 코드를 쉽게 읽을 수있게하려면 직관적이지 않습니다.


답변

평범한 영어로, 문법은 다음과 같이 설명했다 :

if(condition){
    do_something_if_condition_is_met;
}
else{
    do_something_else_if_condition_is_not_met;
}

다음과 같이 쓸 수 있습니다 :

condition ? do_something_if_condition_is_met : do_something_else_if_condition_is_not_met;


답변

<div id="ABLAHALAHOO">8008</div>
<div id="WABOOLAWADO">1110</div>

parseInt( $( '#ABLAHALAHOO' ).text()) > parseInt( $( '#WABOOLAWADO ).text()) ? alert( 'Eat potato' ) : alert( 'You starve' );


답변

ELSE없이 인라인 IF를 원할 경우 논리 AND 연산자를 사용할 수 있습니다.

(a < b) && /*your code*/;

ELSE도 필요한 경우 다른 사람들이 제안한 삼항 연산을 사용하십시오.