/ FRONTEND

클린코드 자바스크립트 2-2 타입 다루기(undefined & null, eqeq 줄이기)

Clean Code JS 강좌는 여러 절로 구성되어 있습니다.

타입 다루기 😎

undefined & null 👍

console.log(null); // null
console.log(!null); // true
console.log(!!null); // false

console.log(null === false); // false

// null => math => 0
console.log(null + 123); // 123
// 선언했지만 정의되지 않고 할당 X
let varb;

console.log(varb); //undefined
console.log(typeof varb); // undefined
console.log(varb + 10); // NaN
console.log(!undefined); // true
console.log(undefined == null); // true
console.log(undefined === null); // false
console.log(!undefined === !null); // true

차이점

  • undefined, null => 값이 없거나(명시적 표현) 정의되지 않음

  • undefined ▻ NaN ▻ type undefined
  • null ▻ 0 ▻ type Object

eqeq 줄이기 (동등 연산자 ==)👍

equality (==)

  • 형변환(type casting)이 일어난다.
console.log(1 === 1); // true
console.log(1 === "1"); // true

//Strict equality(===)
console.log(1 === 1); // true
console.log(1 === "1"); // false

const ticketNum = document.querySelector("#ticketNum");
console.log(ticketNum.value); // '0'
console.log(ticketNum.value > 1000); // false
console.log(ticketNum.value === 0); // false

console.log(ticketNum.value == 0); // 위험 협업시 알아듣기 어렵다.
// 옳은 예
console.log(Number(ticketNum.value) === 0); // true
console.log(ticketNum.valueAsNumber == 0); // true