JavaScript 기본 상식 #1

null과 undefinded

"JavaScript는 변수의 자료형의 결정 시점은 {할당할 때}이다."

정의

  • "undefined"
    • 아직 자료형이 결정되지 않았다. 즉, "변수나 함수가 선언은 되었으나, 값을 할당하지는 않았다"는 뜻이다.
    • 주의할 것은, 아직 선언되지 않은 변수나 함수 등도  모두 undefined로 확인이 되나, 그렇다고, 변수나 함수가 선언되어 있다는 뜻은 아니다.
  • "null"
    • 이미 자료형이 결정되었다. 즉, "변수나 함수가 선언은 되었고, 값을 null로 할당했다"는 뜻이다.

자료형

  • null: "object"
  • undefined: "undefined"
typeof null
"object"

typeof undefined
"undefined"

"void 0"과 비교

  • null: false
  • undefined: true
null === void 0
false

undefined === void 0
true

"null"과 "undefined" 비교

"{형변환}을 하느냐('=='), 안하느냐('===')에 따라 결과가 다르다."
null == undefined
true

null === undefined
false

추가. delete이후 값에 대한 확인

"{형변환}을 하느냐('=='), 안하느냐('===')에 따라 결과가 다르다."
const arr1 = ['a1', 'a2', 'a3', 'a4', 'a5'];
delete arr1[2];
true
console.log(arr1);
(5) ['a1', 'a2', empty, 'a4', 'a5']

const arr1 = ['a1', 'a2', 'a3', 'a4', 'a5'];
arr1[2] = undefined;
undefined
console.log(arr1);
(5) ['a1', 'a2', undefined, 'a4', 'a5']

댓글

이 블로그의 인기 게시물

Next.js에서 자연스러운 Page Transition 방법

[flutter] Android - Package간 sdk version 등이 맞지 않아 오류가 발생하는 경우

[Windows] Chocolatey upgrade