티스토리 뷰

안녕하세요 탐구소년입니다. 

오늘은 제가 최근에야 이게 무엇인지 제대로 깨닫게 된, 자바스크립트의 쌍느낌표(?) 연산자에 대해서 정리해보도록 하겠습니다. 느낌표 두개 연산자라고 많은 사람들이 부르는 것 같은데요. 영어로는 더블 익스클레메이션(double exclamation)이라고 하면 될 것 같습니다. 

 

 

느낌표 두개 연산자는 확실한 논리 결과(참 또는 거짓)를 얻기 위해 사용하는 연산자입니다.

기존의 느낌표 연산자는 true를 false로, false를 true로 반전하는 기능을 가지고 있는데요. 느낌표 두개 연산은 반전에 반전을 거듭하는 형태이므로 undefined나 null 값을 false로 불리언 형변환하는 데에 사용할 수가 있습니다. 

 

간단한 테스트 코드를 보시면 바로 이해가 되실 겁니다. 

 

 

예제 코드

 

var case1;  // undefined

console.log("case1  : " + (case1));

console.log("!case1 : " + (!case1));

console.log("!!case1: " + (!!case1));

console.log('') // 개행

var case2 = true; // 불리언 데이터 

console.log("case2  : " + (case2));

console.log("!case2 : " + (!case2));

console.log("!!case2: " + (!!case2));

console.log('') // 개행

var case3 = null; // null 

console.log("case3  : " + (case3));

console.log("!case3 : " + (!case3));

console.log("!!case3: " + (!!case3));

 

 

결과

 

 

결과에서 확인할 수 있듯이, 느낌표 두개 연산자는 null이나 undefined 값을 false로 변환할 때 사용할 수가 있습니다. 가끔 null이나 undefined 때문에 자바스크립트 코드를 짜다가 애를 먹는 경우가 있는데, 그런 경우에 무척 요긴하게 사용할 수 있는 연산자인 것 같네요. 

댓글
공지사항