이 중복 삼항 연산자 구문을 사용하는 대신 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"