는 다음 사항을 고려 삼항 연산자
(편집 : 내가 사용을 제거하기 위해 약간의 기능을 수정 또는 삼항 연산자와 중괄호 한)우선 순위 : 논리 또는 대
function someFunction(start,end,step){
var start = start || 1,
end = end || 100,
boolEndBigger = (start < end); // define Boolean here
step = step || boolEndBigger ? 1:-1;
console.log(step);
}
someFunction()
// step isn't defined so expect (1<10) ? 1:-1 to evaluate to 1
someFunction(1,10)
// again step isn't defined so expect to log 1 as before
문제 :
나는이 쉽게 사용 중괄호에 의해 고정되어 있음을 알고 있어요 :
function range(start,end,step){
var start = start || 1,
end = end || 100,
step = step || ((start < end) ? 1:-1);
console.log(step);
}
질문 : 가 왜
||
운영자가이 경우에 지름길되지 않습니다 ?나는 논리 OR 진 논리적 조건 연산자 중 가장 낮은 우선 순위를 가지고 있음을 알고 있어요하지만이 조건 삼항 연산자보다 우선 순위 높은 을 가지고 생각?
MDN docs for Operator precedence을 잘못 읽었습니까?
"우선 순위가 높음"은 코드가'(step || (start
"높은 우선 순위"는 먼저'||'가 평가된다는 것을 의미합니다. (시작 <끝)'이 먼저 평가됩니다. – Xufox
@NiettheDarkAbsol : 삼원 항이 우선 순위가 높다는 뜻인가요? MDN 워드 프로세서가 다르게 말하는 ... – Pineda