2017-10-15 4 views
-1

J'essaie d'importer une classe simple dans le noeud JS, j'obtiens undefined après l'exécution de la fonction. Pourquoi je reçois le undefined?Noeud JS fonction indéfinie après exécution

index.js

const ctrl = require('./math'); 

console.log(ctrl.addFunction()); 
console.log(ctrl.sunFunction()); 

math.js

module.exports = { 
    addFunction: function() { 
    console.log('printing addFunction'); 
    }, 
    sunFunction: function() { 
    console.log('printing sunFunction'); 
    } 
}; 

sortie: noeud index.js


impression addFunctionundefined impression sunFunction
non définie

+0

Le 'undefined' est la valeur de retour des deux fonctions et imprimé par votre' index.js'. – Sirko

+0

Pourquoi deux 'console.log'? Appelez simplement la fonction sans 'console.log' c.-à-d.' Ctrl.addFunction(); ' – Harikrishnan

+0

si mes fonctions ne renvoient aucune valeur alors son undefined l'a obtenu. merci @Sirko – Dev

Répondre

1

Parce que vous essayez d'imprimer quelles que soient les fonctions renvoient et ils ne retournent rien, ils impriment juste les cordes de console.log.

La trace d'exécution est:

console.log(ctrl.addFunction()); 
    > addFunction() 
      > prints 'printing addFunction' //First console.log in output 
      > returns nothing 
    > console.log(undefined) //Second console.log in output