null ou undefined
Deux formes différentes d'absence.
null ou undefined est une leçon Zig Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Zig Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Zig Academy comprend 4 leçons au total.
Deux mots, deux significations
Zig possède à la fois null et undefined, qui ne signifient pas la même chose. Les confondre est une source classique de bogues difficiles à comprendre.
null signifie qu’il n’y a aucune valeur
null est un état réel et défini : il indique que cet optionnel ne contient intentionnellement rien. C’est une valeur significative que vous pouvez vérifier.
const x: ?i32 = null;undefined signifie non spécifié
undefined signifie que l’espace de stockage existe, mais que son contenu est indéterminé. Vous vous engagez à y écrire une vraie valeur avant de la lire.
var buf: [4]u8 = undefined;Seuls les optionnels contiennent null
Vous ne pouvez affecter null qu’à des types optionnels. Un i32 ordinaire ne l’acceptera jamais, car l’absence ne fait pas partie de son type.
N’importe quel type peut être undefined
À l’inverse, presque toute variable peut commencer par undefined afin de réserver la mémoire maintenant et de la remplir un peu plus tard.
var total: i32 = undefined;Lire null ne pose aucun problème
Comparer un optionnel à null est parfaitement sûr et normal : c’est exactement ainsi que vous détectez une valeur absente.
Lire undefined est une erreur
Lire une valeur qui est encore undefined constitue un comportement illégal. Les compilations sûres la remplissent même d’octets 0xAA pour révéler l’erreur.
Une promesse envers vous-même
Considérez undefined comme un contrat : vous vous engagez à affecter une valeur avant toute utilisation. Si vous le rompez, vous lisez des données dépourvues de sens et imprévisibles.
Schéma courant pour un tampon
Une pratique fréquente consiste à déclarer un tampon comme undefined, puis à le remplir immédiatement à partir d’une lecture ou d’un appel de formatage.
var line: [256]u8 = undefined;Choisissez le bon outil
Utilisez null pour représenter une absence réelle. Utilisez undefined uniquement pour éviter une initialisation superflue que vous remplacerez immédiatement.
Des questions totalement différentes
null répond à la question « une valeur existe-t-elle ? », tandis que undefined répond à « la mémoire a-t-elle déjà été écrite ? ». Les garder séparés vous protège.
Vérification rapide
Vous déclarez var buf: [8]u8 = undefined; et lisez buf[0] avant d’y écrire. De quoi s’agit-il ?
Récapitulatif
Vous avez distingué null (une véritable valeur absente pour les optionnels) de undefined (une mémoire non initialisée dans laquelle vous devez d’abord écrire). Deux notions à ne jamais confondre. 🧠
Questions Fréquemment Posées
La leçon « null ou undefined » est-elle gratuite ?
Oui — le texte complet de « null ou undefined » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Zig Academy, passe à CoddyKit PRO. Le cours Zig Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « null ou undefined » ?
Deux formes différentes d'absence. Tu pratiques Zig Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Zig Academy ?
Aucune expérience préalable n'est requise. Zig Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « null ou undefined » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Zig Academy ?
Oui. Chaque leçon Zig Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Déclarer des types optionnels
- Déballer en toute sécurité avec if et orelse
- Pointeurs optionnels et ?*T
- null ou undefined