JS의 논리 연산자 !, !!, !!! 비교

냥린이·2022년 1월 18일
0

Javascript/TypeScript

목록 보기
3/4

!

  • 논리 부정 연산자
  • 피연산자의 truthy/falsy 여부와 반대로 T/F로 반환
  • truthy라면 1(false), falsy라면 0(true)

!!

  • 논리 이중부정 연산자
  • 정확한 논리결과를 T/F로 반환하기 위해 사용
  • undefined, null, 0에 대해서 false 반환
  • [주의] 문자열 “0”은 true
  • 나머지는 모두 true

!!!

  • 논리 삼중부정 연산자
  • !!의 부정

비슷해 보이는 기능이 왜 이렇게 나눠져 있는걸까? 아래 코드를 살펴본다.

// !을 사용
var data = "1";
if(data != undefined && data != "")
{
//실행 함수
}

// !!을 사용
var data = "1";
if(!!data)
{
//실행 함수
}

위의 두 코드는 모두 true이다. 이렇듯 조건문에서는 큰 차이를 보이지 않는다.

!!(Double Exclamation Marks)는 명시적 형변환을 해서 넘겨줄 때 유용하게 사용될 수 있다.

var a = "test"; //a: "test" (조건문 적용시 true) 
var b = !"test"; //b: false 
var c = !!"test"; //c: true

참고
https://hermeslog.tistory.com/279

자바스크립트에서-유용할-수도-있는-연산자들-모음

profile
홀로서기 기록장

0개의 댓글