본문 바로가기
🔖 Daily/Today I Learned🌱

[09AUG, 2021] TIL

by briee 2021. 8. 9.

요즘 노션에 빠져서 블로깅을 잘 안 하게 되는데 그래도 노션과 블로그는 느낌이 다르고 블로깅을 할 때 좀 더 깊게 공부하게 돼서 틈틈이 TIL이라도 열심히 쓰려고 노력해야겠다!! 

 


 

✔️ ?? (Nullish coalescing operator, null 병합 연산자)

오늘 유튜브를 보다 ?? 라는 null 병합 연산자를 알게 되었다. 

leftExpr ?? rightExpr

 

이렇게 표현하며, 왼쪽 피연산자가 null 또는 undefined (Nullish한 값) 일 때 오른쪽 피연산자를 반환하고, 그렇지 않으면 왼쪽 피연산자를 반환하는 논리 연산자이다. 예제를 보면 더 쉽게 이해할 수 있다. 

 

function printMessage (text) {
	const message = text ?? 'Nothing to display';
	console.log(message);
}

PringMessage('Hello'); //'Hello'
PringMessage(undefined); //'Nothing to display'
PringMessage(null); //'Nothing to display'

 

그럼 || (OR연산자)링은 무엇이 다를까? OR연산자는 null이나 undefined뿐 아니라 falsy한 값에 해당할 경우 오른쪽 피연산자를 반환한다는 차이가 있다.

 

 

✔️ react 조건부 렌더링 &&

삼항연산자를 주로 사용하다 논리 연산자 '&&'를 사용하는 방법도 있다는 것이 생각나서 다시 한번 공식문서를 읽으면서 사용해봤다. 조건이 true일 경우에는 && 이후에 위치한 expression을 반환하고, false일 경우 expression을 반환하지 않고 무시한다. 아래는 리액트 공식문서의 예제이다. 

 

function Mailbox(props) {
  const unreadMessages = props.unreadMessages;
  return (
    <div>
      <h1>Hello!</h1>
      {unreadMessages.length > 0 &&
        <h2>
          You have {unreadMessages.length} unread messages.
        </h2>
      }
    </div>
  );
}

const messages = ['React', 'Re: React', 'Re:Re: React'];
ReactDOM.render(
  <Mailbox unreadMessages={messages} />,
  document.getElementById('root')
);

 

이 코드가 실행되면 아래와 같은 결과를 보여준다.

 

조건? true : false를 표현할 수 있는 삼항연산자와 위에서 본 논리 연산자를 그때그때 필요하고, 가독성 좋은 것으로 선택해서 사용하면 좋을 것 같다.

'🔖 Daily > Today I Learned🌱' 카테고리의 다른 글

[02NOV, 2021] TIL  (1) 2021.11.02
[29SEP, 2021] TIL  (0) 2021.09.29
[06AUG, 2021] TIL  (0) 2021.08.07
[31JUL, 2021] TIL  (0) 2021.07.31
[29JUL, 2021] TIL  (0) 2021.07.29