본문 바로가기
IT, 통신, 전자공학/JS

연산자 '!'를 두 개 연속으로 쓰는 이유

by 주식_코인_다양성 2020. 1. 7.
반응형

확실한 논리 값을 받고싶을 경우 !!를 사용한다.


console.log(!!undefined)  //false
console.log(!!null)       //false
console.log(!!'')         //false

사용 예시

apollo graphQL tutorial 의 일부분을 가져왔다.

return found && found.length
      ? found.map(l => l.dataValues.launchId).filter(l => !!l)
      : [];

 

위 세 줄의 코드를 해석하면 다음과 같다.

found 가 존재하며 found가 길이 1 이상 이라면 전자를, 그렇지 않다면 후자를 반환한다.

전자: found array의 각 item의 launchId가 존재할 경우에만 array에 push함. 즉, [found에 존재하는 launchId]

후자: 빈 array

 

두 번째 줄에서 l이 undefined 혹은 null 일 경우 확실한 false를 받기 위해 !!를 사용한 것을 볼 수 있다.

 

반응형

댓글