[JS] chrome console.log undefined

2021. 2. 26. 10:49
728x90

일을 하다가 리턴값이 언디파인??

이렇게 나오길래 이게 널값인가 싶어 동료에게 물어보니 자기도 헷갈린다고 콘솔에 널을 찍어보래서

아래와같이찍어봤다.

그러니 저렇게 나오더라. 공백도아니고 널값도아닌데 언디파인이 뭐지하면서 열심히 구글링을 했는데, 몇번을 염탐하다보니 나같은 문제를 궁금해하시는분이 커뮤니티에 올리셨는데 어느분께서 댓글을 다셧더라. 나같은 빡대XX도 이해하기 쉽게 글을 적어두셔서 감명을받아 이렇게 티스토리에 저장해둔다.

[질문자]

[답변자]

웹 코딩기에서 돌려본다.

변수만 딱 선언해노으면 언디파인이 뜬다. 콘솔로그를 하루에 몇백번쓰지만 이따금씩 자주 까먹는다ㅋㅋㅋㅋ

 

이번에는 업무처럼 펑션을 이용해서 언디파인을 띄어보겠다. 업무때 쓰는 펑션에는 url,data,리턴값이있지만 테스트는 간단히 해보겟다.

1번 테스트

2번 테스트

3번 도움글

 

이렇게 2번 테스트에서 if조건(null과undefined 둘다 만족할때)된것으로 보아 아무런 값도 담지않고 변수선언만 한 변수를 이용하면 리턴할때 언디파인으로 나온다. 

 

 

근데 도움 글을 읽어보는 도중 나의 2번테스트가 살짝 틀렸다는걸알았다. 설명하자면 null과 언디파인은 같지만 미세하게달라서 ==(동등연산자)를 쓰면 null도 언디파인으로 인식하기때문에 정확하게 언디파인만을 전제조건으로 볼거라면 ===(일치연산자)를 써야한다고 나와있다. (나의실수ㅎ)

 

 

어쨋든 결국 null이랑 undefined이랑 같은 비었다라는 뜻이다. 대신 undefined은 값이 아무것도 존재하지않을때 리턴되면 나타나는것같다. null이라고 변수선언때 갑을 정해두면 또 리턴값이 null이라고 뜬다. 이게 처음배우는사람은 헤깔릴수있는문제인것같다. 나처럼 자주 까먹는사람도 헷갈렷고 ㅋㅋ 무튼 변수 = null; 과 그냥 변수; 는 같지만 연산이되서 리턴이 되면 표현되는것이 null과 undefined처럼 다르다. 단지 표현이 다를뿐 빈것은 똑같다.  js에서는 undefined과 null이 존재하지만 언디파인을 아작스로 java로 넘기면 null로 받는다. 이글만 읽으면 제가 글을 두서없이 적어서 이해가 안될수있으니 이글을 보시는분들도

 

가볍게 js<->java 값을 주고받고해보시면 아실수있을거다. 

 

undefined을 찾아보던중 다른 예시상화도 많아서 참고사이트를 게시해두겠다. 언디파인이 궁금하신분은 한번 슥 읽어보아라

참고사이트:
developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/undefined#%EC%84%A4%EB%AA%85 
출처는 아닌 도움받은 블로그 : jsdev.kr/t/undefined/3985/5
728x90