>  기사  >  웹 프론트엔드  >  연산자 우선 순위는 JavaScript의 삼항 연산자에 어떤 영향을 줍니까?

연산자 우선 순위는 JavaScript의 삼항 연산자에 어떤 영향을 줍니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-30 04:08:28458검색

How Does Operator Precedence Impact JavaScript's Ternary Operator?

JavaScript 삼항 연산자의 연산자 우선 순위 이해

JavaScript의 삼항 연산자를 다룰 때 코드가 다음과 같이 실행되도록 연산자 우선 순위를 파악하는 것이 중요합니다. 예정된. 주어진 예에서 삼항 연산자와 할당 연산자의 조합으로 인해 혼란이 발생합니다.

코드 해석

제공된 코드:

<code class="javascript">h.className += h.className ? ' error' : 'error'</code>

JavaScript에서는 구문이 올바르지 않습니다. 할당 연산자 h.className의 왼쪽은 이미 표현식이므로 여기에 다른 연산자를 직접 적용하려고 하면 오류가 발생합니다.

올바른 구문

오류 없이 코드를 실행하려면 다음과 같이 다시 작성해야 합니다.

<code class="javascript">h.className = h.className + (h.className ? ' error' : 'error')</code>

이 경우 괄호는 전체 삼항 연산을 묶어 결과가 h.className에 할당되도록 합니다. . 삼항 연산자는 대입 연산자보다 우선순위가 낮기 때문에 이는 매우 중요합니다.

연산자 우선순위

연산자 우선순위는 코드 표현식에서 연산자가 평가되는 순서를 정의합니다. . 자바스크립트에서는 삼항연산자(?:)가 대입연산자(=)보다 우선순위가 낮다. 즉 대입보다 먼저 삼항연산이 실행된다는 뜻이다.

따라서 위 코드가 올바르게 실행되면, h.className이 이미 설정되어 있는지 확인합니다. 그렇다면 기존 값에 'error'를 추가합니다. 그렇지 않으면 'error'를 h.className의 값으로 할당합니다.

위 내용은 연산자 우선 순위는 JavaScript의 삼항 연산자에 어떤 영향을 줍니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.