[javascript] 자바 스크립트 속기 삼항 연산자

이 중복 삼항 연산자 구문을 사용하는 대신 PHP 5.3에서 다음을 알고 있습니다.

startingNum = startingNum ? startingNum : 1

… 적용 가능한 경우 삼항 연산자에 대한 속기 구문을 사용할 수 있습니다.

startingNum = startingNum ?: 1

그리고 나는 자바 스크립트의 삼항 연산자에 대해 알고 있습니다.

startingNum = startingNum ? startingNum : 1

…하지만 속기가 있습니까?



답변

var startingNumber = startingNumber || 1;

당신이 찾고있는 것과 같은 것, 정의되지 않은 경우 기본값은 어디입니까?

var foo = bar || 1; // 1
var bar = 2;
foo = bar || 1;     // 2

그건 그렇고, 이것은 객체를 포함한 많은 시나리오에서 작동합니다.

var foo = bar || {}; // secure an object is assigned when bar is absent


답변

|| 만나는 첫 번째 진실 값을 반환하므로 C #과 유사한 병합 연산자로 사용할 수 있습니다. ??

startingNum = startingNum || 1;


답변

예, 있습니다 :

var startingNum = startingNum || 1;

일반적으로 문서에expr1 || expr2 언급 된대로 다음과 같은 방식으로 작동합니다 .

expr1로 변환 할 수 있는지 여부를 반환 합니다 true. 그렇지 않으면를 반환합니다 expr2. 따라서, 함께 사용될 때 Boolean값을 ||반환 true피연산자 인 경우 true; 둘 다 있으면을 false반환합니다 false.


답변

var startingNum = startingNum || 1;

이 경우 OR 연산자를 사용할 수 있습니다.


답변

startingNum = startingNum || 1

null과 같은 조건이있는 경우

startingNum = startingNum ? startingNum : null

당신이 사용할 수있는 ‘&&’

startingNum = startingNum && startingNum


답변

위의 답변이 정확합니다. JavaScript에서 다음 문 :

startingNum = startingNum ? otherNum : 1

다음과 같이 표현할 수 있습니다.

startingNum = otherNum || 1

여기에서 다루지 않는 또 다른 시나리오는 일치하지 않을 때 값이 false를 반환하도록하려는 경우입니다. 이에 대한 JavaScript 속기 :

startingNum = startingNum ? otherNum : 0

그러나 다음과 같이 표현할 수 있습니다.

startingNum = startingNum && otherNum

다른 사람들이 더 일반적인 답변을 찾고있는 경우를 대비하여 다른 시나리오를 다루고 싶었습니다.


답변

삼항을 만들려면 :

boolean_condition ? true_result : false_result

자바 스크립트에서는 다음을 수행 할 수 있습니다.

(boolean_condition && true_result ) || false_result;

예:

(true && 'green') || 'red';
=> "green"
(false && 'green') || 'red';
=> "red"