2014-07-15 2 views
1

대부분의 사람들은 JavaScript의 모든 기능이 실제로 객체라는 것을 알고 있지만, 이 object 대신 function을 반환하는 이유는 무엇입니까? 이 논리에 따라 typeof []array을 반환하지 않는 이유는 무엇입니까?JavaScript 함수의 올바른 유형은 무엇입니까?

이것은 단지 '표준'입니까, 아니면 그럴만한 이유가 있습니까?

+2

http://www.ecma-international.org/ecma-262/5.1/#sec-11.4.3 – zerkms

+1

'typeof'가 이상하고 일관성이 없으므로 (슬프게도). –

답변

3

그게 spec의 말입니다.

typeof은 원시 타입 만 반환합니다. 모든 일반 오브젝트는 "object"으로보고됩니다.

+1

원시 타입이라고 부르지 않는 함수를 제외하고. – jfriend00

+1

과'null'은 원시 *이지만 * typeof'는''객체 "'를 반환합니다. –

+1

및 호스트 객체 (* undefined *, * boolean *, * number * 또는 * string *이 아닌)를 반환 할 수 있습니다. – RobG