728x90
단락 평가는 논리 연산에서 첫 번째 피연산자의 값에 따라 두 번째 피연산자의 평가 여부를 결정하는 기법입니다.
AND 단락 평가
'&&' 연산자는 첫 번째 피연산자가 거짓일 경우, 두 번째 피 연산자를 평가하지 않습니다.
이를 통해 필요한 계산을 줄이고, 조건문에서 오류를 방지할 수 있습니다.
function calcA() {
console.log("a");
return false;
}
function calcB() {
console.log("b");
return true;
}
if (calcA() && calcB()) {
console.log("둘 다 참");
}
// 결과: "a"만 출력됨
위 코드에서 'calcA()'가 거짓을 반환하므로, 'calcB()'는 호출되지 않습니다.
이는 '&&' 연산자의 단락 평가 떄문입니다.
AND 단락 평가를 이용한 오류 방지
자바스크립트에서 undefined나 null값을 다룰 때, 조건문을 사용하여 오류를 방지할 수 있습니다.
function getName(person) {
return person && person.name;
}
console.log(getName(undefined)); // undefined 출력
OR 단락 평가
' || ' 연산자는 첫 번째 피연산자가 참일 경우, 두 번째 피연산자를 평가하지 않습니다.
이를 통해 기본값 설정 등에서 유용하게 사용됩니다.
let name = undefined || "이정환";
console.log(name); // "이정환" 출력
OR 단락 평가와 null 병합 연산자
' || ' 연산자는 truthy와 falsy값을 기반으로 평가하지만, null 병합 연산자는 null이나 undefined 값에만 반응합니다.
let varA = 0;
let varB = "이정환";
let resultA = varA || varB;
let resultB = varA ?? varB;
console.log(resultA); // "이정환"
console.log(resultB); // 0
더보기
더보기
' ?? ' 연산자에 대하여
?? 연산자는 피연산자가 null 또는 undefined 일때만 두 번째 피연산자를 반환합니다.
위 코드에서 resultA는 varA가 fasly한 값(0)을 가지므로 varB를 반환합니다.
반면에, resultB는 varA가 null이나 undefined가 아니기 때문에 varA를 그대로 반환합니다.
단락 평가를 활용하면 효율적인 코드 작성과 오류 방지가 가능합니다.
자세한 내용은 여기를 참조하세요.
728x90
'웹개발 > JavaScript' 카테고리의 다른 글
JavaScript 반복문 응용하기 (0) | 2024.05.20 |
---|---|
컴공생이 알려주는 JavaScript 객체 자료형 (0) | 2024.05.20 |
자바스크립트에서 Truthy와 Falsy 이해하기 (0) | 2024.05.20 |
flag변수가 뭐에요? 깃발..? (0) | 2024.05.15 |
자바스크립트의 객체 (0) | 2024.05.15 |