[10일차] 옵셔널 체이닝

0

TIL

목록 보기
11/21

옵셔널 체이닝(Optional chaining)
연산자이다.
?.
형태로 사용한다.

{data?.fetchBoard.map(
(board)=> (
  <Number>{board.number}</Number>
	))}

=>**data에 내용이 있다면** fetchBoard 배열 안에 ()안의 내용을 추가해라. 

MDN에는 다음과 같이 명시되어있다.


optional chaining 연산자 ?. 는 체인의 각 참조가 유효한지 명시적으로 검증하지 않고, 연결된 객체 체인 내에 깊숙이 위치한 속성 값을 읽을 수 있다. ?. 연산자는 . 체이닝 연산자와 유사하게 작동하지만, 만약 참조가 nullish (en-US) (null 또는 undefined)이라면, 에러가 발생하는 것 대신에 표현식의 리턴 값은 undefined로 단락된다. 함수 호출에서 사용될 때, 만약 주어진 함수가 존재하지 않는다면, undefined를 리턴한다.

이것은 참조가 누락될 가능성이 있는 경우 연결된 속성으로 접근할 때 더 짧고 간단한 표현식이 생성된다. 어떤 속성이 필요한지에 대한 보증이 확실하지 않는 경우 객체의 내용을 탐색하는 동안 도움이 될 수 있다.


10일차인 나에겐 아직 쉽게 와닿지 않는 글이지만 쉽게 말하면
데이터가 있을 경우 가져오고 없을 경우엔 아무것도 하지 않는 것을 뜻하는 듯 하다.데이터가 오기 전에 실행하면 불안정하니. 어떻게 보면 앞에 배웠던 async/await와 비슷한 개념인 것 같다.


그 외 이날은 체크박스의 실제 기능, 모두 선택 체크박스와 연동해서 구현하는 법에 대해 배웠으나 아직 나에게는 복잡해여 완벽한 숙지는 어려웠다. 좌절도 많은 하루였지만 내 페이스를 유지하는 것을 잊지 말아야겠다. 정리되면 기재해야지.

profile
코린이의 코딩 성장기

0개의 댓글