본문 바로가기
Javascript&Typescript

[Javascript] variable 과 !!variable - Double Exclamation Mark

by clolee 2024. 3. 6.

 

const res = variable
const booleanRes = !!variable

- !! (Double Exclamation Mark) 

  • !!variable
    • 만약 variable이 null, undefined, 0, 빈 문자열 등의 falsy한 값이라면 강제 Boolean 변환 후에는 true가 되고, 이를 다시 부정 연산자로 적용하면 false가 됩니다. 

 

 

if (variable)
if (!!variable)

 

 

- if (variable) 와 if (!!variable)

JavaScript에서 조건문을 사용하여 변수 variable의 값이 존재하는지 여부를 확인하는 코드.

  • if (variable): 이 코드는 변수 variable이 존재하는지 여부를 확인.
    • JavaScript에서는 falsy한 값(false, 0, "", null, undefined, NaN 등)이 아닌 모든 값이 조건문에서 참(true)으로 간주됩니다. 따라서 variable이 null, undefined, 0, 빈 문자열 등의 falsy한 값이 아니면 조건문은 참으로 평가됩니다.
  • if (!!variable): 이 코드는 부정 연산자 Not(!)로 변수 variable을 Boolean 값으로 강제 변환하고 그 결과를 다시 부정 연산자 Not(!)로 두 번 적용하여 variable이 존재하는지 여부를 확인.

if (variable) 와 if (!!variable) 는 결과적으로 같음. 낭비해서 if (!!variable) 할 필요는 없다.

변수 값을 Boolean으로 변환하여 사용하는데에는 의미있음.

 

참고 :

https://stackoverflow.com/questions/15845391/difference-between-if-variable-and-if-variable

https://stackoverflow.com/questions/29312123/how-does-the-double-exclamation-work-in-javascript

 

https://webionista.com/javascript-double-exclamation-mark/

https://developer.mozilla.org/ko/docs/Glossary/Truthy

https://developer.mozilla.org/ko/docs/Glossary/Falsy

https://chat.openai.com/

 

 

 

 

 

 

댓글