Language/Javascript
Javascript 부정연산자
conqueror-G
2022. 5. 8. 17:26
부정 연산자가 너무 햇갈린다!!! 한번씩 쓸때마다 맞나?맞나? 😂 맨날 이런다... 슬퍼..
날 힘들게 한 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;