2017-02-07 1 views
0

두 개의 인수 사이에 더 낮은 인수를 반환하는 자체 함수를 작성하고 있습니다.함수가 부울 값을 반환하는 이유는 무엇입니까?

내 최초의 솔루션이었다 :

function min(a, b) { 
    if (a < b) 
    return a; 
    else 
    return b; 
} 

console.log(min(0, 10)); 
// → 0 

그러나 나는 그것을 단순화하고 싶어하고 다른 기능 썼다 :

function min(a, b) { 
    return a ? a < b : b; 
} 
console.log(min(0, 10)); 
// → true 

내 두 번째 함수는 수의 부울 값을 대신 반환 왜? 이 동작을 변경할 수 있습니까?

+0

해야 하는가? a zerkms

+0

'이 동작을 바꿀 수 있습니까? '- 변경해야 할 것은'상태? whentruthy : whenfalsey' works : p –

+0

* a *가 0이면 거짓이됩니다. 그래서'a? a RobG

답변

2

function min(a, b) { 
    return a < b ? a : b; 
} 
console.log(min(0, 10)); 
1

귀하의 삼원 OPERATOR 시스템이 약간 펑키해야한다.

boolean ? returnValueForTrue : returnValueForFalse; 그래서 당신이 a ? boolean : b을하고 나는 그 사실로 변신 모르겠어요해야한다. a ? boolean은 부울로 바뀝니다.

그래서 당신은의`

return a < b ? a : b;

관련 문제