728x90
1. 단락평가
- javaScript 에서 첫 번째 연산에서 연산의 결과를 확정지을 수 있으면 두 번째 연산을 접근하지 않는 것을 단락 평가라고 함
- 이 성질을 이용하면 조건문을 이용하지 않고도 특정 상황에서 어떤 함수를 호출하지 않도록 방지하거나 어떤 값을 굳이 계산하지 않도록 제한 하는 등의 개발이 가능하다.
function returnFalse(){
console.log("False함수");
return false;
}
function returnTrue(){
console.log("true함수");
return true;
}
console.log(returnFalse() && returnTrue());
returnTrue()가 아예 호출 되지 않는 것처럼 보이는 것은 단락평가가 작동했기 때문임
false && 에는 뒤에 무엇이 와도 false가 오기 때문에 두번째 피 연산자는 아예 호출 하지 않음
console.log(returnTrue() && returnFalse());
만약 순서를 반대로 작성한다면 첫 번째, 두 번째 피연산자 모두 실행되는 것을 알 수 있다.
리턴에는 Truthy & Falsy값 성질도 사용도 가능하다.
2. 단락평가의 활용
function printName(person){
if(!person){
console.log("값이 없음");
return ;
}
console.log(person.name);
}
위의 코드를 아래와 같이 수정할 수 있다.
function printName(person) {
//person이 null이거나 undefined인 경우 두 번째 피 연산자로 넘어가지 않음
const name = person && person.name;
// name에 undefined 이 오더라도 truthy한 person의 값이 없음이 출력됨
console.log(name || "person의 값이 없음");
}
printName();
printName({ name: "홍길동" });
728x90
'JavaScript' 카테고리의 다른 글
[WEB] JS, CSS 파일 쿠키 삭제 없이 새로고침 시 바로 적용 되도록 하기 (0) | 2024.12.03 |
---|---|
다크모드 시크릿 코드 (0) | 2024.10.31 |
[JavaScript / jQuery] 검색 자동 완성 기능 구현하기 (0) | 2024.09.30 |
[JavaScript / jQuery] th눌러서 table 정렬하기 (1) | 2024.09.27 |
[JavaScript / jQuery] 검색어 자동완성 기능 (0) | 2024.09.25 |