본문 바로가기
KDT TIL Note

자바스크립트의 null과 undefined, console.log와 console.dir

by 메리뉴데이 2022. 9. 21.

자바스크립트에서는 의미가 다소 다르지만, 다른 프로그래밍 언어에서 사용하는 null 외에

특수하게 undefined이라는 자료형이 있다.

 

 

null은 null 값만을 포함하는 null 자료형으로 분류되고,

'존재하지 않는 값(nothing)', '비어 있는(empty) 값', '알 수 없는(unknown) 값'을 나타낸다.

undefined와 유사하지만 차이점은 '의도적으로' 값이 없는 것을 의미한다.

 

 

undefined는 null과 같이, undefined 값 만을 포함하는 undefined 자료형으로 분류되고,

'값이 할당되지 않은 상태 값' 즉, 기본값과 같은 의미를 띈다.

변수를 선언하였지만 값을 할당하지 않았으면 그 변수의 값은 undefined로 자동 할당된다.

 

 

cf. 파이썬의 None

<공식문서> 참조

 

 

 

 

 

 

자바스크립트에서 자주 쓰는 console.log란?

 

console은 아래에서 보다시피 정보의 집합체 형태로 있는 object이고,

 

 

 

log는 이 console object의 데이터들 중의 하나인 함수이다.

 

 

이러한 object 내의 함수를 method라 하며, 함수답게 ( ) 안에 어떤 값을 넣어주면 그 값을 처리(작업)하여 주는데,

method log가 하는 작업은 전달받은 값을 그대로 콘솔창에 출력(로깅, 기록)하는 것이다.

그 외에도 assert, clear, context, count, debug, dir, error, warn 등의 함수, 즉 메서드들이 들어있는 것을 볼 수 있다.

 

 

 

 

# 오직 console.log를 사용하고, calculator라는 object 안에 function을 사용해 계산기를 만들어보기

 

 

 

 

 

 

 

 

위의 console의 메서드 중 객체 안의 정보 즉 속성과 속성의 값들 전체를 로깅(출력)해보고 싶을 때에는

dir 메서드를 사용할 수 있다.

 

 

 

 

console.dir를 사용해 document 객체 내의 body 객체 내의 정보들을 살펴보니 위와 같은 많은 정보들이 담겨있는 것을 확인할 수 있다.

 

 

 

 

※ 참고로, 자바스크립트에서 함수의 자료형은 객체형이라는 것 잊지 말자 !

 cf. JS의 8개 기본 자료형 : String, Number, Boolean, Null, Undefined, Object, Symbol, BigInt