Home IT/WEB !! 연산자 not not 연산자

[javascript]!! 연산자 not not 연산자

“!!” 연산자는 값을 boolean으로 형변환하는 데 사용됩니다. 이를 “not not” 연산자라고도 합니다. 이 연산자는 값을 true 또는 false로 간단히 변환하여 반환합니다.

inline ad

예를 들어, JavaScript에서 다음과 같은 값을 boolean으로 형변환 할 수 있습니다.

!!0 // false
!!1 // true
!!"" // false
!!"hello" // true
!!null // false
!!undefined // false
!!NaN // false
!![] // true
!!{} // true

첫 번째 “!” 연산자는 값을 논리적으로 부정하고, 두 번째 “!” 연산자는 부정된 값을 다시 부정하여 boolean 값을 반환합니다. 따라서 위의 코드에서 0, “”, null, undefined, NaN 값은 false로 변환되고, 모든 객체와 빈 배열은 true로 변환됩니다.

이 연산자는 일반적으로 값이 존재하는지 여부를 확인하거나, 변수 또는 매개 변수가 null 또는 undefined인지 여부를 확인할 때 사용됩니다. 예를 들어, 다음과 같이 값이 존재하는지 확인할 수 있습니다.

let myValue = "";
if (!!myValue) {
  console.log("myValue has a value");
} else {
  console.log("myValue is empty");
}

이 코드는 myValue가 값이 있으면 “myValue has a value”를 출력하고, 그렇지 않으면 “myValue is empty”를 출력합니다.

아래 코드를 리펙토링해보았습니다. if else 문 없이 !! 연산자로 코드를 심플하게 작성할 수 있습니다.

if (value) {
  this.$emit('changeState', true)
} else {
  this.$emit('changeState', false)
}

this.$emit('changeState', !!value)

RECENT POSTS

[nest.js]nest.js, node.js, 프로젝트 생성 방법

Node.js 설치 Node.js의 공식 웹사이트(nodejs.org)에서 Windows용 인스톨러를 다운로드합니다. 다운로드한 인스톨러를 실행하여 설치합니다. Node Version Manager(NVM)을 사용하는 경우 nvm install node # 최신 버전 설치 nvm install 14 #...

[광주]위파크 더 센트럴 분양주택 분양안내

기본정보 공급위치: 광주광역시 서구 풍암동 10-12번지 일원 공급번호: 2023000351 공급규모: 625세대 분양/입주: 분양 2023-08-04 / 입주 2026-08 건설사: (주)호반건설 (주)라인건설 분양문의: 1670-5676 분양정보: 분양정보 자세히보기 홈페이지 주소: http://www.wepark-central.co.kr/ 모집공고문 보기 청약일정 모집공고일: 2023-08-04 청약접수: 2023-08-14...

[강원]힐스테이트 속초 분양주택 분양안내

기본정보 공급위치: 강원특별자치도 속초시 금호동 622-40 일원 공급번호: 2023000337 공급규모: 925세대 분양/입주: 분양 2023-07-21 / 입주 2026-05 건설사: 현대엔지니어링(주) 분양문의: 033-947-0925 분양정보: 분양정보 자세히보기 홈페이지 주소: http://www.hillstate-sokcho.co.kr 모집공고문 보기 청약일정 모집공고일: 2023-07-21 청약접수: 2023-07-31 ~...

GSAP와 ScrollTrigger 플러그인을 사용하여 여러 패널을 고정 시키는 방법

여러 패널 고정시키는 방법 GSAP (GreenSock Animation Platform)과 ScrollTrigger 플러그인을 사용하여 여러 패널을 스크롤 위치에 따라 고정하는 기능을 구현할 수 있습니다. <section id="section1" class="parallax__item"></section> <section id="section2"...