Double Exclamation Operator (!!)

Double Exclamation Operator

느낌표두개연산자 또는 Double NOT operator라고 불리우는 이 연산자는 오른쪽에 있는 값을 boolean 즉 논리적 값으로 변환해줍니다. 모든 javascript의 값에는 연관된 boolean true 또는 false 값이 있습니다. 따라서 값을 논리값으로 변환하려면 !!를 사용하여 변환 할 수 있습니다.

Double Exclamation Usage

일반적으로 javascript에서 false로 간주되는 값이 있습니다. null, NaN, undefined 등이 있는데 이 값에 !!를 사용하게 되면 false로 반환합니다.

1
2
3
console.log(!!null); // false
console.log(!!NaN); // false
console.log(!!undefined); // false

javascript에서 숫자 0false를 의미합니다. 0 이외의 숫자는 true입니다.

1
2
3
4
console.log(!!0); // false
console.log(!!-0); // false
console.log(!!-615); // true
console.log(!!2020); // true

javascript에서 빈 문자열은 false를 의미합니다. 따라서 ""false입니다.

1
2
3
console.log(!!""); // false
console.log(!!" "); // true
console.log(!!"string"); // true

javascript에서 객체 또는 배열true입니다. 따라서 빈배열을 확인하려면 .length를 이용하여 확인해야합니다. 하지만 빈객체는 다른 방법으로 확인해야합니다. 자세한 확인방법은 여기를 참고해주시기 바랍니다.

1
2
3
console.log(!!{}); // true
console.log(!![]); // true
console.log(!![].length); // false

이거만 기억하면 될 것 같다.


!!boolean으로 바꿔준다!

공유하기