console.log("hi") gives
undefined
hi
console.log(1+1) gives
undefined
2
Que ce soit un calcul de chaîne ou d'entier, je reçois indéfini puis la bonne réponse.
Pourquoi reçois-je le message non défini? Existe-t-il un bon moyen de l'éviter?
La console affichera le résultat de l'évaluation d'une expression. Le résultat de l'évaluation de console.log()
est undefined
puisque console.log
ne renvoie pas explicitement quelque chose. Il a pour effet secondaire d'imprimer sur la console.
Vous pouvez observer le même comportement avec de nombreuses expressions:
> var x = 1;
undefined;
Une déclaration de variable ne produit pas de valeur, donc de nouveau undefined
est imprimé sur la console.
À titre de contre-exemple, les expressions contenant des opérateurs mathématiques produisent une valeur qui est imprimée sur la console au lieu de undefined
:
> 2 + 2;
4
undefined
est la valeur de retour de console.log()
. Il s'agit du comportement standard de Chrome JS Console
La console affiche la valeur de retour de votre entrée. console.log () ne renvoie rien, donc indéfini.
Vous pouvez simplement taper directement dans la console pour obtenir le résultat
Il renvoie la valeur de console.log(...)
.
Définissez deux fonctions comme celle-ci et vous comprendrez pourquoi.
function functionA() {
return 1;
}
function functionB() {
return;
}
La functionB()
renvoie undefined.
En effet, console.log()
ne renvoie pas de valeur (c'est-à-dire renvoie undefined). Le résultat de tout ce que vous avez entré dans la console est d'abord imprimé sur la console, puis un peu plus tard le message de console.log
atteint la console et est également imprimé.
Si un navigateur n'affiche pas l'indéfini, cela signifie qu'il a remarqué que l'entrée de votre console ne s'imprime que sur la console, et ignore donc le résultat.