자바스크립트 부정 연산자(NOT)

자바스크립트에서 부정 연산자는 ! 기호로 표현됩니다. 이 연산자는 불리언(Boolean) 값을 반전시킵니다. 즉, truefalse로, falsetrue로 변환됩니다.

부정 연산자는 자주 사용되며, 조건문, 반복문, 함수 등에서 조건의 부정을 표현하는데 유용합니다.

부정 연산자의 사용 예시

조건문에서의 부정 연산자 사용

let isLogged = false;

if (!isLogged) {
  console.log("로그인이 되지 않았습니다.");
}

위의 예제에서 isLogged 변수의 값이 false이므로, 부정 연산자 !를 사용하여 if문 내의 조건이 true가 되어 console.log 문이 실행됩니다.

반복문에서의 부정 연산자 사용

let numbers = [1, 2, 3, 4, 5];
let evenNumbers = [];

for (let i = 0; i < numbers.length; i++) {
  if (numbers[i] % 2 !== 0) {
    evenNumbers.push(numbers[i]);
  }
}

console.log(evenNumbers);

위의 예제는 배열 numbers에서 홀수를 필터링하여 evenNumbers 배열에 저장하는 코드입니다. numbers[i] % 2 !== 0라는 조건은 숫자가 홀수인지를 확인하는데, 여기서 !== 연산자를 사용하여 부정 연산을 수행합니다.

함수에서의 부정 연산자 사용

function isAdult(age) {
  return age >= 18 ? true : false;
}

function isNotAdult(age) {
  return !isAdult(age);
}

console.log(isNotAdult(20));  // false
console.log(isNotAdult(15));  // true

위의 예제는 isAdult 함수를 통해 나이가 성인인지를 확인합니다. isNotAdult 함수는 isAdult 함수의 반대 값을 반환하기 위해 부정 연산자 !를 사용합니다.

주의사항

부정 연산자는 반대의 결과를 돌려주는 것이기 때문에 주의가 필요합니다. 0, 빈 문자열, null, undefined, NaN과 같은 falsy한 값은 ! 연산자를 사용하면 true로 변환됩니다. 따라서, 부정 연산자를 사용할 때 주의하여 원하는 결과값을 얻을 수 있도록 해야 합니다.

// 빈 문자열은 falsy한 값이기 때문에 ! 연산자를 사용하면 true로 변환됨
console.log(!"");   // true

// 숫자 0은 falsy한 값이기 때문에 ! 연산자를 사용하면 true로 변환됨
console.log(!0);    // true

// null은 falsy한 값이기 때문에 ! 연산자를 사용하면 true로 변환됨
console.log(!null); // true

// undefined는 falsy한 값이기 때문에 ! 연산자를 사용하면 true로 변환됨
console.log(!undefined);    // true

// 숫자 NaN은 falsy한 값이기 때문에 ! 연산자를 사용하면 true로 변환됨
console.log(!NaN);  // true

결론

자바스크립트의 부정 연산자인 !은 불리언 값을 반전시키는 유용한 연산자입니다. 조건문, 반복문, 함수 등에서 조건의 부정을 표현할 때 사용하면 코드의 가독성을 높여줍니다. 단, 부정 연산자를 사용할 때는 주의하여 원하는 결과값을 얻을 수 있도록 해야 합니다.