는 그냥 크롬 에서 다음 코드를 실행 한 자바 스크립트 콘솔 :"console.log (typeof null);"의 호출 이해하기 자바 스크립트 콘솔에서
console.log(typeof null);
결과는 다음 화면 캡처에서 볼 수
:
내가 단지 그레이가 <- undefined
라인을 의미하는지 궁금합니다. 아무도 조언을 해줄 수 있습니까?
는 그냥 크롬 에서 다음 코드를 실행 한 자바 스크립트 콘솔 :"console.log (typeof null);"의 호출 이해하기 자바 스크립트 콘솔에서
console.log(typeof null);
결과는 다음 화면 캡처에서 볼 수
:
내가 단지 그레이가 <- undefined
라인을 의미하는지 궁금합니다. 아무도 조언을 해줄 수 있습니까?
undefined
마지막 문장의 반환 값입니다. 자바 스크립트에서 함수를 명시 적으로 아무 것도 반환하지 않습니다 때마다
> 5
5
> "Hello World"
"Hello World"
> (function(){ return 6})();
6
, 그것은 기본적으로
undefined
반환합니다.
과정을 요약하면 object
은 console.log(typeof null)
전화의 결과입니다. 코드가 실행되고 object
을 콘솔에 기록한 다음 함수 호출의 반환 값인 undefined
을 인쇄했습니다.
이것은 아마도 eval
의 작동 결과입니다. 크롬의 개발자 도구에있는 콘솔은 코드에서 eval
으로 실행됩니다. eval
당신이 그것을 넣어 마지막 문/표현식의 값을 반환
> eval(5);
5
(참고 :이 상당히 분명 알고 있지만 예에 평가를 사용할 때이 REPL이를하는 동안 언급 할 필요를 느끼지 eval
에 대한 우수 사용 사례 eval is evil
"이것은 아마도'eval' 작동 방식의 결과입니다. 또는 ...'console.log' 함수는 정의되지 않은 값을 반환합니까? 나는 eval이 관련 될 수있는 것이 왜 중요한지 혼란 스럽다. – Xymostech
아마도 첫 번째 줄 ('object')이 반환 값이 아니라'console.log (typeof null)'의 출력이라는 것을 포함 할 수 있습니다. 내가 깨닫기 전에 나는 시간이 좀 걸렸다. – 11684
@Xymostech "5"라는 표현을 입력하면 어떻게 든 "5"를 입력합니다. 왜 그렇게됩니까? 필자는'eval'이 크롬 개발 도구 콘솔이 Read-Eval-Print-Loop 및 모든 방식으로 작동하는 방식에 필수적인 부분이라고 생각합니다. 콘솔에 코드를 입력하면 eval'd가됩니다. 내가 무슨 일이 일어나고 있는지 말하기 시작하면서 _how_을 설명하는 것이 중요하다고 느꼈다. –