자바스크립트 단락

3040 단어 javascriptbeginners

JavaScript에서 단락이란 무엇입니까?



|| 운영자



AND && 및 OR || 와 같은 논리 연산자로 작업할 때 일반적으로 Boolean values (참 및 거짓) 및 반환 true 또는 false 와 함께 사용됩니다. && 연산자를 사용할 때 true를 반환하려면 조건부의 양쪽이 모두 true로 평가되어야 합니다. 한쪽이 false로 평가되면 false를 반환합니다. || 연산자로 작업할 때 true 반환하려면 한 쪽만 true 로 평가해야 합니다.

true || true 
// returns true 

true || false 
// returns true 

false || false 
// returns false


그러나 논리 연산자는 모든 종류의 데이터 유형에 사용할 수 있습니다. 예를 들어 논리 연산자에 숫자와 문자열이 사용된 경우 true 또는 false 대신 값 자체를 반환합니다.
100 || 'North'100 또는 true 대신 false를 반환합니다.

왜 이런 일이 발생합니까? 단락은 무엇을 의미합니까?



위의 예에서 단락은 본질적으로 표현식이 평가되지 않음을 의미합니다. 첫 번째 값이 truthy이면 true 값을 반환하고 평가를 중지합니다.

그러나 첫 번째 값이 false이면 계속 평가한 다음 두 번째 표현식으로 값을 다시 반환합니다.

null || 'Hello'
// returns 'Hello'


&& 연산자를 사용한 단락



단락은 AND 연산자와 완전히 반대되는 방식으로 작동합니다.

true && true 
// returns true 

true && false 
// returns false 

false && false 
// returns false


AND 연산자를 사용하면 첫 번째 피연산자가 Falsy일 때 단락됩니다.

O && 'Fall'
// returns 0


여러 평가&&를 함께 연결하는 더 긴 예제도 동일하게 작동합니다.
console.log('Goodbye' && 100 && undefined && 'halloween')
단락undefined 및 자동 반환undefined .

실제 예를 사용하면 단락을 활용하고 if 문을 단축할 수 있습니다.

쓰는 것보다:

function a() { 
   console.log('a'); 
   return false; 
}

if (a()) { 
   console.log('Foobar') 
}
// returns a 


다음과 같이 작성할 수 있습니다.

a() && console.log('Foobar')
// returns a 

a()가 거짓으로 평가되면 단락되고 실행이 중지되고 연산자의 다른 쪽으로 계속되지 않고 반환만 됩니다.

그러나 if 문의 긴 코드 대신 단락을 사용하는 것이 항상 좋은 생각은 아닙니다. 코드를 읽기 위해 들어오는 다른 사람이 무슨 일이 일어나고 있는지 이해하지 못할 수도 있기 때문입니다. 때로는 내용을 짧게 하는 것보다 읽을 수 있도록 유지하는 것이 좋습니다. 간결함이 항상 답은 아닙니다.

추가 읽기



다음은 JavaScript의 단락을 설명하는 정말 훌륭하고 긴 예입니다. stack overflow

Codeburst.io JavaScript: What is Short-circuit Evaluation?

좋은 웹페이지 즐겨찾기