!
!!
!!!
비슷해 보이는 기능이 왜 이렇게 나눠져 있는걸까? 아래 코드를 살펴본다.
// !을 사용
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