null ve undefined Karşılaştırması
Bir değerin bulunmamasının iki farklı türü.
null ve undefined Karşılaştırması, CoddyKit'te ücretsiz bir Zig Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Zig Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Zig Academy kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
Two Words, Two Meanings
Zig has both null and undefined, and they are not the same. Mixing them up is a classic source of confusing bugs.
null Means No Value
null is a real, defined state: it says this optional intentionally holds nothing. It is a meaningful, checkable value.
const x: ?i32 = null;undefined Means Unspecified
undefined means the storage exists but its contents are garbage. You are promising to write a real value before you read it.
var buf: [4]u8 = undefined;Only Optionals Hold null
You can assign null only to optional types. A plain i32 will never accept it, because absence is not part of its type.
Any Type Can Be undefined
By contrast, almost any variable can start as undefined to reserve memory now and fill it in a moment later.
var total: i32 = undefined;Reading null Is Fine
Checking an optional against null is perfectly safe and expected; that is exactly how you detect an absent value.
Reading undefined Is a Bug
Reading a value that is still undefined is illegal behavior. Safe builds even fill it with 0xAA bytes to expose the mistake.
A Promise to Yourself
Think of undefined as a contract: you swear to assign before use. Break it and you read meaningless, unpredictable data.
Common Buffer Pattern
A frequent idiom is declaring a buffer as undefined, then immediately filling it from a read or a format call.
var line: [256]u8 = undefined;Pick the Right Tool
Use null to model genuine optionality. Use undefined only to skip a redundant initialization you will overwrite right away.
Different Questions Entirely
null answers is there a value, while undefined answers has the memory been written yet. Keeping them separate keeps you safe.
Quick Check
You declare var buf: [8]u8 = undefined; and read buf[0] before writing it. What is that?
Recap
You separated null (a real absent value for optionals) from undefined (uninitialized memory you must write first). Two ideas, never confused. 🧠
Sıkça Sorulan Sorular
“null ve undefined Karşılaştırması” dersi ücretsiz mi?
Evet — “null ve undefined Karşılaştırması” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Zig Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Zig Academy kursu toplamda 4 dersten oluşur.
“null ve undefined Karşılaştırması” dersinde ne öğreneceğim?
Bir değerin bulunmamasının iki farklı türü. Zig Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Zig Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Zig Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“null ve undefined Karşılaştırması” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Zig Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Zig Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- İsteğe Bağlı Türleri Bildirme
- if ve orelse ile Güvenli Açma
- İsteğe Bağlı İşaretçiler ve ?*T
- null ve undefined Karşılaştırması