title: What is Function's Data Type : function or object? in JavaScript
body: <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>