2017-12-21 5 views
0

그래서 삼중 연산자와 비슷한 inbuilt 메서드가 있는지 궁금 해서요. 거짓 인 경우 right를 반환하는 동안 진위 검사의 왼쪽 값을 반환합니다. 여기 javascript는 조건이 일치하면 검사 값을 반환하고, 그렇지 않으면 다른 값을 반환합니다.

이없는 경우 내가 할 계획거야 (내가 무슨 뜻인지 명확히하기 위해)

function myTernary(leftValue, operator, condition, rightValue) { 
 
    let expression = `${leftValue} ${operator} ${condition}` 
 
    let result = eval('('+expression+')') 
 
    return result ? leftValue : rightValue 
 
} 
 

 
// leftValue is returned if the condition is truthy, otherwise rightValue 
 

 
console.log(myTernary(1 + 2 + 3 + 4, "<", 12, 12))

eval이 때문에 클라이언트 측에서 실행됩니다 ... 그것은해야 클라이언트는 임의로 웹 콘솔을 열고 어쨌든 원하는 것을 입력 할 수 있기 때문에 좋습니다.

+2

'leftValue === 조건? leftValue : rightValue'가하는 모든 것입니다 ... –

+0

'그럼? 조건 : 그렇지 않으면'? 아니요, 불가능합니다. 피연산자의 순서를 변경하십시오. – Bergi

+0

'eval'을 사용하지 않으면 예제가 더 명확해질 수 있습니다. – Bergi

답변

0

당신은 || 연산자를 사용할 수 있습니다 ...

console.log(1!=2||5) 
 
console.log(1==2||5)

+0

나는 진실하거나 거짓을 원하지 않는다. 나는 실제 값을 원한다. 이 예제를 조금 더 명확하게 바꿀 것입니다. –

관련 문제