Javascript : 단축 평가

kimsnmyng·2024년 12월 1일

Vanilla Javascript

목록 보기
11/23
// 단축 평가

let varA = false;
let varB = true;

console.log(varA && varB); // false

console.log(varB || varA); // true


function returnFalse () {
  console.log("False 함수")
  return undefined;
}

function returnTrue () {
  console.log("True 함수")
  return 10;
}

console.log(returnFalse() && returnTrue()); // False 함수

console.log(returnTrue() && returnFalse()); // True 함수, False함수, false -> 일단 False 함수까지 실행을 시켜봐야 이놈이 참인지 거짓인지 알 수 있다.

console.log(returnTrue() || returnFalse()); // True 함수 10, Truthy한 값 그 자체가 return의 값이 된다.

console.log(returnFalse() && returnFalse()); // False 함수, undefined

----

// 단락 평가 사용 사례

function printName () {
  if (!person) {
    console.log("person에 값이 없음!")
    return;
  }
  console.log(person.name)
}

// 위의 코드를

function printName () {
  console.log(person && person.name); // person이 falsy라면 두번째 평가에 접근하지 않는다.
}

printName();  // 따라서 person의 값이 없음이 출력

// 이렇게 변경 시킬 수 있다.

// 두 번째 버전

function printName () {
  const name = person && person.name;
  console.log(name || "person의 값이 없음")
}

printName({ name: '김선명' }); // name의 값이 저장이 되어있기 때문에.
// OR 에서는 첫번째 T의 값 전달
// AND 에서는 두번째 T의 값이 전달
profile
안녕하세요 김선명입니다.

0개의 댓글