JavaScript의 ??
, ||
및 &&
연산자가 내부적으로 어떻게 작동하는지 궁금한 적이 있나요? 이 기사에서는 단락 평가의 미스터리를 풀고 동작을 설명하며 모범 사례를 강조합니다.
JavaScript의 단락 평가
는 논리 연산자가 표현식을 왼쪽에서 오른쪽으로 평가하고 결과가 확실해지면 즉시 중지함을 의미합니다.
&&
논리 AND()
처음으로 발견된 거짓 값을 반환합니다. 그렇지 않으면 모두 사실인 경우 마지막 값을 반환합니다.
<code class="language-javascript">let x = 5; let y = 0; console.log(x && y); // 0 console.log(x && true); // true</code>
||
논리 OR()
처음으로 발견된 진실 값을 반환합니다. 그렇지 않고 모두 거짓이면 마지막 값을 반환합니다.
<code class="language-javascript">let a = null; let b = "Hello"; console.log(a || b); // Hello console.log(a || false); // false</code>
??
무효 병합 연산자()
왼쪽 피연산자가 또는 null
인 경우 undefined
만
<code class="language-javascript">let userName = null; let result = 0 ?? 100; console.log(result); // 0 console.log(userName ?? "Guest"); // Guest</code>
결합된 사용(모범 사례 포함)
이러한 연산자를 결합하려면 예기치 않은 결과를 방지하기 위해 괄호를 주의 깊게 사용해야 합니다.
<code class="language-javascript">let a = null; let b = 0; let c = 10; let d = 20; let result = (a ?? b) || (c && d); console.log(result); // 20</code>
(a ?? b)
0
은 a
으로 평가됩니다(null
은 (c && d)
이므로). 20
은 0 || 20
으로 평가됩니다. 따라서 20
의 결과는
단락평가의 장점:
null
undefined
또는 단점:
모범 사례:
??
다른 거짓 값(예: ||
, null
)을 재정의하지 않으려면 undefined
또는 0
을 구체적으로 다룰 때 ""
보다 단락 평가는 JavaScript에만 있는 것이 아닙니다. 구문은 다를 수 있지만 이는 많은 프로그래밍 언어(Python, Java, C/C 등)의 공통 기능입니다.
Linkedin에서 저와 소통하세요: www.linkedin.com/in/geetansh-chahal-b7473b1b4/
위 내용은 JavaScript의 단락 평가: 성능 향상 및 논리 단순화!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!