console.log()

Affiche des valeurs dans la console du navigateur. L’objet console a aussi les méthodes warn(), error(), table(), group(), time(), count() et assert().

Renvoie
undefined
Sur cette page

Exemple

#
JavaScript
const user = { name: 'Léa', level: 7 }
const badges = ['Start', 'Série de 7 jours']

console.log('Bienvenue,', user.name)
console.log('Niveau :', user.level, 'Badges :', badges.length)
console.log(user)
console.log(badges)
console.info('Module 3 débloqué')
console.warn('Reste 2 unités de carburant')
console.error('Échec de l’enregistrement de la progression')
Console
Bienvenue, Léa
Niveau : 7 Badges : 2
{ name: 'Léa', level: 7 }
['Start', 'Série de 7 jours']
Module 3 débloqué
Reste 2 unités de carburant
Échec de l’enregistrement de la progression

Dans la console sous l’exemple, l’avertissement et l’erreur ont des couleurs différentes des entrées normales. Dans les outils de développement du navigateur, les objets et les tableaux peuvent en plus être dépliés.

Définition et utilisation

#

La méthode console.log() affiche dans la console des outils de développement n’importe quelle valeur : chaînes, nombres, tableaux, objets ou éléments du DOM. Dans Chrome, vous ouvrez la console avec la touche F12 ou le raccourci Ctrl+Shift+J (Cmd+Option+J sur Mac). La méthode accepte plusieurs arguments et les affiche sur une seule ligne, séparés par des espaces. C’est le moyen le plus simple d’observer ce qui se passe dans un programme.

L’objet console a d’autres méthodes. console.info(), console.warn() et console.error() fonctionnent comme log(), mais signalent l’importance du message : les avertissements sont jaunes, les erreurs rouges, et les outils permettent de les filtrer. console.table() affiche un tableau d’objets sous forme de tableau visuel, et console.group() et console.groupEnd() regroupent des entrées dans un groupe repliable.

Pour traquer les bugs, les compteurs et les mesures de temps sont aussi utiles : console.count(étiquette) compte combien de fois un fragment de code s’est exécuté, console.time() et console.timeEnd() mesurent le temps entre deux points, et console.assert(condition, message) n’affiche une erreur que si la condition est fausse.

La console du navigateur montre les objets « en direct » : en dépliant un objet, vous voyez son état actuel, pas celui du moment où il a été affiché. Si vous avez besoin d’un instantané, affichez une copie, par exemple console.log(structuredClone(objet)) ou JSON.stringify(objet).

Syntaxe

#
Syntaxe
console.log(value1, value2, …)
console.info(…)
console.warn(…)
console.error(…)
console.table(data)
console.group(label)
console.groupEnd()
console.count(label)
console.time(label)
console.timeEnd(label)
console.assert(condition, message)

Paramètres

#
  • value1…valueN

    valeurs quelconques

    Les valeurs à afficher. Plusieurs arguments apparaissent sur une seule ligne, séparés par des espaces.
  • data

    tableau ou objet

    Dans console.table() : les données à montrer dans le tableau, le plus souvent un tableau d’objets.
  • label

    chaîne, optionnel

    L’étiquette d’un groupe, d’un compteur ou d’une mesure de temps. Les compteurs et les mesures sans étiquette utilisent le nom "default".
  • condition

    valeur quelconque

    Dans console.assert() : la condition. Le message n’apparaît que si la condition est fausse.

Plus d’exemples

#
Un tableau d’objets dans console.table()
JavaScript
const ranking = [
  { name: 'Léa', points: 320 },
  { name: 'Lucas', points: 280 },
  { name: 'Emma', points: 250 }
]

console.table(ranking)
Console
[{ name: 'Léa', points: 320 }, { name: 'Lucas', points: 280 }, { name: 'Emma', points: 250 }]

La console de cette page affiche les données comme console.log(). Dans les outils de développement du navigateur, vous verrez un vrai tableau avec les colonnes (index), name et points.

Groupes, compteurs et mesure de temps
JavaScript
console.group('Module 1 : HTML')
console.log('Leçon 1 : Balises')
console.log('Leçon 2 : Attributs')
console.groupEnd()

for (const answer of ['A', 'C', 'A']) {
  console.count(answer)
}

console.time('tri')
Array.from({ length: 10000 }, () => Math.random()).sort()
console.timeEnd('tri')
Résultat
Module 1 : HTML
  Leçon 1 : Balises
  Leçon 2 : Attributs
A: 1
C: 1
A: 2
tri: 3.2109375 ms

La console de cette page ne gère pas ces méthodes, donc l’exemple ne s’exécute pas. Le résultat montre ce qu’affiche Chrome : les entrées du groupe sont indentées et peuvent être repliées, et le temps mesuré sera différent à chaque exécution.

Vérifier des conditions avec console.assert()
JavaScript
function addPoints(user, points) {
  console.assert(points > 0, `Nombre de points invalide : ${points}`)
  user.points += points
}

const user = { name: 'Lucas', points: 100 }
addPoints(user, 20)
addPoints(user, -5)
console.log(user.points)
Résultat
Assertion failed: Nombre de points invalide : -5
115

Le résultat vient de la console de Chrome, car la console de cette page ne gère pas console.assert(). La méthode n’interrompt pas le programme, elle ne fait qu’afficher une erreur, donc les points ont quand même été retirés. Quand continuer n’a pas de sens, levez une exception avec throw.

Compatibilité des navigateurs

#

Largement disponible

Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.

  • Chrome
  • Edge
  • Firefox
  • Safari

Bonnes pratiques

#
  • Affichez les variables dans un objet : console.log({ points, level }) montre les noms avec les valeurs, par exemple { points: 120, level: 3 }.
  • Observez les tableaux d’objets avec console.table(). Comparer de nombreuses lignes dans un tableau est beaucoup plus facile qu’avec des objets repliés.
  • Avant de publier la page, supprimez les console.log() inutiles. De nombreuses entrées ralentissent la page, et les données affichées peuvent être vues par quiconque ouvre la console.

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.