What is Function's Data Type : function or object? in JavaScript
<p>The MDN said : </p>

<p><strong>Six data types that are primitives:</strong></p>

<ul>
<li>Boolean </li>
<li>Null </li>
<li>Undefined </li>
<li>Number </li>
<li>String </li>
<li><p>Symbol (new in ECMAScript 6) </p></li>
<li><p><strong>and Object</strong></p></li>
</ul>

<p>But I confused, the function data type and object data type. </p>

<p>Let's see : </p>

<pre><code>var func = function() { 
    console.log ('Hello World ! ')
};

var obj = { 
    property : something
}  


console.log(typeof(func)); // ===&gt; function
console.log(typeof(obj)); // ===&gt; object 
</code></pre>

<p>Is it different function data type and object data type? Why <code>typeof(func)</code> is function? not a object? The document said there are 7 data type (6 primitive, 1 object). function is not include anywhere.</p>

<p>Until now, over 1 year, I think function's data type is object, I heard the function is first class object in JavaScript, so I don't have doubt about function is object but today I think more time, and wondered.  </p>

<p>Is it different?</p>