본문 바로가기
모바일 APP/React-Native

선택적 연결 (Optional Chaining)

by 살길바라냐 2021. 9. 8.
반응형

복잡하게 if문 사용해서 조건 체크하지 않고

필요한 값만 오류 없이 사용하는 방법이다. 

최근 핫한 트렌드로 스위프트 코틀린언어에서도 자주 사용한다.

{
  const person1 = {
    name: 'Ellie',
    job: {
      title: 'S/W Engineer',
      manager: {
        name: 'Bob',
      },
    },
  };
  const person2 = {
    name: 'Bob',
  };

  // 
  {
    function printManager(person) {
      console.log(person.job.manager.name);
    }
    printManager(person1);
    printManager(person2); // job 속성이 없어서 에러 발생
  }

  // 방법1
  {
    function printManager(person) {
      console.log(
        person.job
          ? person.job.manager
            ? person.job.manager.name
            : undefined
          : undefined
      );
    }
    printManager(person1);
    printManager(person2);
  }

  // 방법2
  {
    function printManager(person) {
      console.log(person.job && person.job.manager && person.job.manager.name);
    }
    printManager(person1);
    printManager(person2);
  }

  // 가장 좋은 방법3
  {
    function printManager(person) {
      console.log(person.job?.manager?.name);
    }
    printManager(person1);
    printManager(person2);
  }
}
728x90

'모바일 APP > React-Native' 카테고리의 다른 글

React-Native 특징  (0) 2021.09.08
null 병합 연산자 (Nullish Coalescing Operator)  (0) 2021.09.08
널 병합 연산자  (0) 2021.09.04
메트로 서버 Metro server  (0) 2021.09.04
JSX= JavaScript + XML  (0) 2021.09.04