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
'Javascript&Typescript' 카테고리의 다른 글
[Javascript] 데이터타입 (0) | 2024.11.25 |
---|---|
[Javascript] 변수 (0) | 2024.11.25 |
[Javascript] throw Error 와 console.error 차이 (0) | 2024.02.28 |
[Javascript] typeerror (intermediate value) is not iterable (0) | 2024.02.28 |
[Typescript] function (0) | 2024.02.13 |
댓글