JavaScript의 단락
단락으로 이동하기 전에 참 값과 거짓 값의 개념을 살펴볼 수 있습니다.
거짓 값
Falsy 값은 false가 아니지만 Boolean으로 변환하면 false가 되는 값입니다.
JavaScript에는 주로 5가지 거짓 값이 있습니다. 0, ''(빈 문자열), 정의되지 않음, null, NaN입니다.
console.log(Boolean(0)) // false
console.log(Boolean('')) // false
console.log(Boolean(undefined)) // false
console.log(Boolean(null)) // false
console.log(Boolean(NaN)) // false
진실한 가치
거짓이 아닌 값은 참 값입니다. Boolean으로 변환하면 true가 됩니다.
console.log(Boolean(1)) // true
console.log(Boolean('Sample')) // true
console.log(Boolean([])) // true
console.log(Boolean({})) // true
console.log(Boolean(-1)) // true
논리 OR(||)
논리 OR 표현식에서 표현식의 섹션은 || 상징. OR 표현식에서 첫 번째 값이 참 값인 경우. 첫 번째 값을 반환하고 다음 값은 평가하지 않습니다.
그리고 첫 번째 값이 falsy 값이면 표현식의 두 번째 부분을 보고 역시 falsy 값이면 다음으로 넘어가서 그대로 진행합니다. 표현식의 모든 값이 거짓이면 마지막 섹션을 반환합니다.
console.log(true || "Sample") // true
console.log(false || "Sample") // Sample
console.log(undefined || null) // null
console.log(1 || '') // 1
console.log(undefined || 0|| '' || "Hello" || 23 || null) // Hello
이것은 코드의 다양한 시나리오에서 사용할 수 있습니다. 샘플 상황이 아래에 나와 있습니다. 특정 변수가 존재하는지 확인해야 하고 존재한다면 값을 다른 변수로 옮겨야 한다고 생각해 보십시오. 그렇지 않은 경우 새 변수에 기본값을 할당해야 합니다.
이것은 조건부 연산자로 수행할 수 있습니다.
// Conditional Operator
const newVar = oldVar ? oldVar : 10;
// Short Circuiting
const newVar = oldVar || 10;
논리 AND(&&)
논리 AND 표현식에서 각 섹션은 && 기호로 구분됩니다.
논리 AND에서 첫 번째 값이 거짓이면 즉시 해당 값을 반환하고 나머지 표현식의 유효성을 검사하지 않습니다. 첫 번째 값이 truthy이면 두 번째 값으로 이동하고 역시 true이면 다음 값으로 이동하는 식입니다. 모든 값이 사실이면 마지막 값을 반환합니다.
AND 표현식이 true가 되려면 해당 표현식의 모든 값이 true여야 합니다. 값 중 하나라도 false이면 전체 표현식이 false이므로 더 이상 평가할 필요가 없습니다.
console.log(true && "Sample") // Sample
console.log(false && "Sample") // false
console.log(undefined && null) // undefined
console.log(1 && '') // ''
console.log(1 && true && -1 && 0 && 23 && null) // 0
아래의 실제 예를 살펴보겠습니다. 변수 값을 기반으로 함수를 호출하는 것을 고려하십시오.
// Normal Method
if (isValid){
sampleFunction();
}
// Short Circuiting
isValid && sampleFunction();
Nullish 병합 연산자(??)
논리 OR 연산자 단락에 원하는 출력을 제공하지 않는 조건이 있습니다. 아래 코드 스 니펫을 고려하십시오.
const a = 0;
const val = a || 10; // val => 10
여기 이 조건에서는 변수가 존재하더라도 0이 거짓 값이기 때문에 to val의 값을 가져오지 않습니다.
이것은 Nullish Coalescing 연산자를 사용하여 수정할 수 있습니다.
0 또는 빈 문자열이 아닌 단락에 대한 null 값(null 및 undefined)을 확인합니다.
const a = 0;
const val = a ?? 10; // val => 0
Reference
이 문제에 관하여(JavaScript의 단락), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jeffrinmb/short-circuiting-in-javascript-2hda텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)