Javascript

이중 NOT 연산자 (!!)

kyoulho 2024. 7. 2. 16:38

이중 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