2013-03-11 2 views

답변

4

undefined 마지막 문장의 반환 값입니다. 자바 스크립트에서 함수를 명시 적으로 아무 것도 반환하지 않습니다 때마다

> 5 
5 
> "Hello World" 
"Hello World" 
> (function(){ return 6})(); 
6 

, 그것은 기본적으로 undefined 반환합니다.

과정을 요약하면 objectconsole.log(typeof null) 전화의 결과입니다. 코드가 실행되고 object을 콘솔에 기록한 다음 함수 호출의 반환 값인 undefined을 인쇄했습니다.

이것은 아마도 eval의 작동 결과입니다. 크롬의 개발자 도구에있는 콘솔은 코드에서 eval으로 실행됩니다. eval 당신이 그것을 넣어 마지막 문/표현식의 값을 반환

> eval(5); 
5 

(참고 :이 상당히 분명 알고 있지만 예에 평가를 사용할 때이 REPL이를하는 동안 언급 할 필요를 느끼지 eval에 대한 우수 사용 사례 eval is evil

+0

"이것은 아마도'eval' 작동 방식의 결과입니다. 또는 ...'console.log' 함수는 정의되지 않은 값을 반환합니까? 나는 eval이 관련 될 수있는 것이 왜 중요한지 혼란 스럽다. – Xymostech

+1

아마도 첫 번째 줄 ('object')이 반환 값이 아니라'console.log (typeof null)'의 출력이라는 것을 포함 할 수 있습니다. 내가 깨닫기 전에 나는 시간이 좀 걸렸다. – 11684

+0

@Xymostech "5"라는 표현을 입력하면 어떻게 든 "5"를 입력합니다. 왜 그렇게됩니까? 필자는'eval'이 크롬 개발 도구 콘솔이 Read-Eval-Print-Loop 및 모든 방식으로 작동하는 방식에 필수적인 부분이라고 생각합니다. 콘솔에 코드를 입력하면 eval'd가됩니다. 내가 무슨 일이 일어나고 있는지 말하기 시작하면서 _how_을 설명하는 것이 중요하다고 느꼈다. –

관련 문제