부정 연산자가 너무 햇갈린다!!! 한번씩 쓸때마다 맞나?맞나? 😂 맨날 이런다... 슬퍼.. 

날 힘들게 한 3개의 녀석들을 소개한다.   !    !=    !==

 

1. ! (부정 연산자)

부정 연산자를 쓰게되면 항상 불리언 타입이 된다. true나 false로 바뀐다는 뜻이다. 당연히 ! 를 안붙이고 콘솔로그로 찍게되면 문자열이 나온다.

let a = 'hello';
console.log(!a); // false

let b = "";
console.log(!b); // true

2. != (부등 연산자)

값이 틀려야 참이다.

console.log(1 !=  1);  // false
// 숫자 리터럴 1과 1의 값이 같기 때문에 거짓이다.
// 이것이 true가 되려면 이렇게 해야한다.
console.log(2 != 1); // true
// 숫자 리티럴 2와 1이 값이 틀리기 때문에 참이다.

 

3. !== (불일치 연산자)

값도 틀리거나 타입도 틀려야 참이다. 그래서.. 이런게 아닐까 하고 생각해봤다.  조건 2개를 검사하는건데 그게 OR 연산자인게 아닐까? 하고 말이다.

console.log('1' !==  1);  // true;
// 이걸 풀면 이렇다
// !(('1' === 1) || ( 문자 리터럴 === 숫자 리터럴));
// ! ( false || false );
// ! ( false );
// true;

console.log( 1 !== 1 ); // false;
// ! ((1 === 1) || (문자 리터럴 === 숫자 리터럴));
// ! ((true) || (true);
// ! (true);
// false;

console.log (0 !== null); // true;
// ! ((0 === null) || (숫자 리터럴 === null 리터럴))
// ! ((false) || (false));
// ! (false)
// true;

 

+ Recent posts