프로그래밍 언어/HTML,CSS,JS

JavaScript의 연산자 !! (NOT)

Rateye 2021. 8. 28. 16:44
728x90
반응형
질문 : 이것은 !! (NOT) JavaScript의 연산자?

내가 알지 못하는 연산자를 사용하는 것처럼 보이는 코드를 두 개의 느낌표 형태로 보았습니다. !! . 누군가이 운영자가 무엇을하는지 말해 줄 수 있습니까?

내가 본 맥락은

this.vertical = vertical !== undefined ? !!vertical : this.vertical;
답변

Objectboolean 변환합니다. 거짓이면 (예 : 0 , null , undefined 등), false 이고 그렇지 않으면 true 입니다.

!oObject  // inverted boolean
!!oObject // non inverted boolean so true boolean representation

그래서 !! 연산자가 아니라 단지 ! 연산자 두 번.

실제 사례 "테스트 IE 버전":

const isIE8 = !! navigator.userAgent.match(/MSIE 8.0/);  
console.log(isIE8); // returns true or false 

console.log(navigator.userAgent.match(/MSIE 8.0/));  
// returns either an Array or null  

하지만 ⇒

console.log(!!navigator.userAgent.match(/MSIE 8.0/));  
// returns either true or false
출처 : https://stackoverflow.com/questions/784929/what-is-the-not-not-operator-in-javascript
728x90
반응형