07.2. 삼항 조건,논리,쉼표,그룹 연산자
삼항 조건 연산자란
삼항 조건 연산자
는 조건식의 평가 결과에 따라 반환할 값을 결정한다. 자바스크립트의 유일한 삼항 연산자이며, 부수 효과는 없습니다.
삼항 조건 연산자는 첫 번째 연산자가 true
로 평가되면 두 번째 피연산자를 반환하고, 첫 번째 피연산자가 false
로 평가되면 세 번쨰 피연산자를 반환한다. 즉, 삼항 조건 연산자
는 두 번째 피연산자 또는 세 번째 피연산자로 평가되는 표현식이다.
물음표(?
) 앞의 첫 번째 피연산자는 조건식
, 즉 불리언 타입의 값으로 평가될 표현식
이다. 만약 조건식의 평가 결과가 불리언 값이 아니면 불리언 값으로 암묵적 타입 변환됩니다. 이떄, 조건식이 참이면 콜론(:
)앞의 두 번째 피연산자가 평가되어 반환디고, 거짓이면 콜론(:
)뒤의 세 번째 피연산자가 평가되어 반환됩니다.
삼항 조건 연산자의 첫 번째 피연산자는 조건식이므로 삼항 조건 연산자 표현식은 조건문이다.
Key Point💡
if...else
문을 삼항 조건 연산자 표현식으로 유연하게 처리할 수 있다. (JSX문법에서 마크업 부분에서 사용)
삼항 조건 연산자 표현식은 if...else
문과 차이가 있다. 삼항 조건 연산자 표현식은 값처럼 사용할 수 있지만, if...else
문은 값처럼 사용할 수 없다.
Key Point💡
if...else
문은 표현식이 아닌, 문이다. 따라서 if...else문은 값처럼 사용할 수 없다.
Key Point💡
삼항 조건 연산자 표현식은 값으로 평가할 수 있는 표현식인 문이다.
삼항 조건 연산자 표현식은 값처럼 다른 표현식의 일부가 되어 사용할 수 있다.
Key Point💡
조건에 따라 삼항 조건 연산자 표현식을 사용하는 편이 유리할 수 있지만, 조건이 여러개라면 가독이
if...else
가독성이 더 낫다.
논리 연산자
논리 연산자
는 우항과 좌항의 피연산자를 논리 연산한다.
\\
논리합(OR)
X
&&
논리곱(AND)
X
!
부정(NOT)
X
논리 부정(!) 연산자는 언제나 불리언 값을 반환한다. 단, 피연산자가 반드시 불리언 값일 필요는 없다. 피연산자가 불리언 값이 아니면 불리언 타입으로 암묵적 타입 변환한다.
논리합(||) 또는 논리곱(&&) 연산자 표현식의 평가 결과는 불리언 값이 아닐 수 도 있다. 논리합(||) 또는 논리곱(&&)연산자 표현식은 언제나 2 개의 피연사자 중 어느 한 쪽으로 평가된다.
쉼표 연산자
쉼표(,
)연산자는 왼쪽 피연산자부터 차례대로 피연산자를 평가하고 마지막 피연산자의 평가가 끝나면 마지막 피연산자의 평가 결과를 반환한다.
그룹 연산자
소괄호(()
)로 피연산자를 감싸는 그룹 연산자는 자신의 피연산자인 표현식을 가장 먼저 평가한다. 따라서, 그룹 연산자를 사용하면 연산자의 우선순위를 조정할 수 있다.
요약
삼항 조건 연산자 표현식은 값처럼 사용할 수 있지만,
if...else
문은 값처럼 사용할 수 없다.if...else
문은 표현식이 아닌, 문이다. 따라서 값처럼 사용할 수 없다.삼항 조건 연산자 표현식은 값으로 평가할 수 있는 표현식인 문이다.
논리합(||) 또는 논리곱(&&)연산자 표현식은 언제나 2 개의 피연사자 중 어느 한 쪽으로 평가된다.
그룹 연산자를 사용하면 연산자의 우선순위를 조정할 수 있다.
Last updated