>  기사  >  웹 프론트엔드  >  JavaScript에서 논리 연산자를 사용하면 무엇을 얻을 수 있나요?

JavaScript에서 논리 연산자를 사용하면 무엇을 얻을 수 있나요?

Barbara Streisand
Barbara Streisand원래의
2024-11-22 10:02:16918검색

What Do You Get Back When You Use Logical Operators in JavaScript?

JavaScript에서 논리 연산자의 부울이 아닌 반환값 탐색

질문은 특정 논리식에서 부울 반환이 없는 것에 초점을 맞추고 있지만, 논리 연산자 ||의 동작에 관한 JavaScript의 더 넓은 개념을 강조합니다. (OR) 및 &&(AND)

JavaScript에서는 || 및 &&는 완전히 결정된 논리 값을 만나면 조기에 종료되는 단락 연산자입니다. 이는 첫 번째 피연산자가 결과를 결정하는 데 충분할 경우 두 번째 피연산자의 평가를 건너뛴다는 의미입니다.

예를 들어 X || Y, X가 진실한 값(명시적으로 거짓이 아닌 모든 것: true, 객체, 문자열 등)으로 평가되면 X가 즉시 반환되어 Y의 평가가 불필요해집니다.

마찬가지로, X && Y에서 X가 false로 평가되면 평가가 중지되고 X가 다시 Y를 우회하여 반환됩니다.

식이 a로 평가될 때 이상한 점이 발생합니다. 거짓된 가치. JavaScript 1.2 이전에는 연산자가 부울 값 false를 반환했습니다. 그러나 JavaScript 1.2부터는 실제 평가된 값이 반환됩니다.

따라서 제공된 표현식에서는 다음과 같습니다.

  1. (obj.fn && obj.fn()) || obj._ || (obj._ = {}): obj.fn이 존재하고 실제 값으로 평가되는 경우 표현식은 obj.fn()의 결과를 반환합니다. 그렇지 않으면, 정의된 경우 obj._를 반환하고, obj._가 정의되지 않은 경우 새 객체를 생성하고 obj._에 할당합니다.
  2. obj && obj._: 이는 단순히 obj._인 경우 결과를 나타냅니다. obj는 진실이고, 그렇지 않으면 obj가 반환됩니다.

위 내용은 JavaScript에서 논리 연산자를 사용하면 무엇을 얻을 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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