Il MDN ha detto:Qual è il tipo di dati della funzione: funzione o oggetto? in JavaScript
Sei tipi di dati che sono primitive:
- booleano
- Null
- indefinito
- Numero
- String
Simbolo (nuovo in ECMAScript 6)
ed oggetto
Ma confuso, il tipo di dati tipo di dati funzione e l'oggetto.
Vediamo:
var func = function() {
console.log ('Hello World ! ')
};
var obj = {
property : something
}
console.log(typeof(func)); // ===> function
console.log(typeof(obj)); // ===> object
è diverso tipo di dati funzione ed i dati oggetto di tipo? Perché typeof(func)
è una funzione? non un oggetto? Il documento dice che ci sono 7 tipi di dati (6 primitivi, 1 oggetto). la funzione non è inclusa ovunque.
Fino ad ora, per 1 anno, penso che il tipo di dati della funzione sia oggetto, ho sentito che la funzione è oggetto di prima classe in JavaScript, quindi non ho dubbi sulla funzione è oggetto ma oggi penso più tempo e mi chiedo .
È diverso?
Restituisce funzione ma è un oggetto funzione https: //developer.mozilla.org/it-it/docs/Web/JavaScript/Reference/Operators/typeof –
'typeof' non restituisce il * Tipo di dati *. – Bergi
'typeof' non riporta il vero tipo di dati del valore. È una tabella di ricerca che associa il tipo di dati e altre caratteristiche del valore a un nome: http://www.ecma-international.org/ecma-262/6.0/index.html#sec-typeof-operator. Le funzioni sono oggetti che hanno una proprietà interna '[[Call]]'. Ecco perché 'typeof null' è' "oggetto" '(\ * faccia scontrosa \ *). –