Double Exclamation Operator
느낌표두개
연산자 또는 Double NOT operator
라고 불리우는 이 연산자는 오른쪽에 있는 값을 boolean
즉 논리적 값으로 변환해줍니다. 모든 javascript
의 값에는 연관된 boolean
true
또는 false
값이 있습니다. 따라서 값을 논리값으로 변환하려면 !!
를 사용하여 변환 할 수 있습니다.
Double Exclamation Usage
일반적으로 javascript
에서 false
로 간주되는 값이 있습니다. null
, NaN
, undefined
등이 있는데 이 값에 !!
를 사용하게 되면 false
로 반환합니다.
1 | console.log(!!null); // false |
javascript
에서 숫자 0
은 false
를 의미합니다. 0
이외의 숫자는 true
입니다.
1 | console.log(!!0); // false |
javascript
에서 빈 문자열은 false
를 의미합니다. 따라서 ""
는 false
입니다.
1 | console.log(!!""); // false |
javascript
에서 객체
또는 배열
은 true
입니다. 따라서 빈배열
을 확인하려면 .length
를 이용하여 확인해야합니다. 하지만 빈객체
는 다른 방법으로 확인해야합니다. 자세한 확인방법은 여기를 참고해주시기 바랍니다.
1 | console.log(!!{}); // true |
이거만 기억하면 될 것 같다.
!!
는 boolean
으로 바꿔준다!