i just tried this code
console.log(typeof(jQuery))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>
It alerts function, which means the typeof jQuery is function.
My question is, what’s the exact type of jQuery? If it’s function, how come it has properties like jQuery.browser and jQuery.ajax?
The typeof operator when applied to the
jQueryobject returns the string"function". Basically that does mean thatjQueryis a function.But the typing sort of stops there. Unlike statically typed languages, the number, order, modes, and types of parameters are not taken into account when computing the type of a a function. In JavaScript, it is just a "function."
When you create a function in JavaScript, the function object you create is given two properties,
lengthandprototype, and its prototype is set toFunction.prototypeso it has inherited properties likeapplyandcall.And as others have already answered, feel free to add your own properties. a function is just an object.
But be careful about "type." Techncially there are only SIX types in JavaScript: Null, Undefined, Boolean, Number, String, and Object. So the real answer to your question, what is the exact type of
jQueryis …. actually … drumroll …. Object.Edit for 2021
There are now EIGHT types in JavaScript.
SymbolandBigInthave been added since this answer was written a decade ago.