이중 NOT 연산자는 부울 값으로 변환하는 데 사용된다. 처음 ! 연산자는 값을 반전시키고, 두 번째 ! 연산자는 이를 다시 반전시켜 원래의 논리 상태로 돌려놓는다. 이 과정에서 해당 값이 무엇이든 명시적으로 부울 값으로 변환된다.
const value = "Hello, World!";
const booleanValue = !!value;
const onClick = () => {}
const booleanOnClick = !!onClick;
console.log(booleanValue); // true
console.log(booleanOnClick); // true
JavaScript에서는 값이 "truthy"하거나 "falsy"할 수 있다. "truthy"한 값은 조건문에서 참으로 평가되는 값이고, "falsy"한 값은 거짓으로 평가되는 값이다. JavaScript에서 "falsy"한 값의 예로는 다음이 있다.
- false
- 0
- ""
- null
- undefined
- NaN
이와 반대로, "falsy"하지 않은 모든 값은 "truthy"한 값이다.
조건부 렌더링
UI 컴포넌트에서 특정 요소를 조건부로 렌더링 할 때 유용하다.
const showElement = !!element;
if (showElement) {
console.log("Element is shown");
} else {
console.log("Element is hidden");
}
함수 인자 검증
함수 인자가 "truthy"한 값인지 확인할 때 사용된다.
function processInput(input) {
const isValid = !!input;
if (isValid) {
console.log("Processing input:", input);
} else {
console.log("Invalid input");
}
}
객체 속성 존재 여부 확인
객체에 특정 속성이 있는지 확인할 때 유용하다.
const obj = { key: "value" };
const hasKey = !!obj.key;
console.log(hasKey); // true
728x90
'Javascript' 카테고리의 다른 글
[JS] FileReader 클래스 (0) | 2024.07.20 |
---|---|
고차 함수 (0) | 2024.07.08 |
코드 품질 도구 (0) | 2024.07.01 |
함수 선언 vs. 함수 표현식 (0) | 2024.06.29 |
Npm audit (0) | 2024.06.15 |