재귀 문제를 풀던도중 null과 undefind를 사용하는 문제가 나왔는데,
내가 볼때는 둘다 비슷해서 아무거나 쓰면 될것같았는데
실제로 null이 사용되어야 하는 부분에 undifined를 사용하면 테스트가 통과되지 않는것을 보고..
null과 undefind의 차이를 확인해 보기로 하였다.
>변수를 선언하고 빈 값을 할당한 상태
아무것도 참조하고 있지 않다라는 의미가 담겨져 있으며 주로 객체를 담을 변수를 초기화 할때 사용
보통 아무 값도 가지고 있지 않음을 나타낼때 사용.let a = null
>변수를 선언하고 값을 할당하지 않은 상태
선언만 하고 정의되지 않은 것.
undefind는 데이터 타입이자 값을 나타냄
실제로 typeof undefind를 콘솔에서 수행하면 undefind로 나온다.
let abc 로 변수를 선언하고 console.log(abc)를 해볼경우에도 undefind가 나온다.
let a
undefined는 변수를 선언만 하더라도 할당이 되지만,
null의 경우 변수를 선언한 후에 null로 값을 바꿈.