Ad space (banner)
Lesson 4 / 20

Null safety (? and !)

This lesson covers null safety, one of Dart's defining features.

Dart distinguishes in the type itself whether a variable may be null (may hold no value at all). Adding ? after a type, as in String?, makes it a "might be null" type, and restricts the methods you can call on it directly.

The sample code declares String? nickname and displays it safely with nickname ?? 'No nickname' — the operator that supplies a substitute value when something is null.

A common early stumble is choosing between ? (might be null) and ! (I promise this is never null). Reaching for ! casually causes a runtime error whenever the value really is null, so prefer handling it safely with ?? or an if check.

In professional work, null safety turns most "crashed because the value was missing" bugs into compile-time errors.

๐Ÿ“– Reference code
โœ๏ธ Your code
Type your code, then press "Run"

๐Ÿงช This site can't compile or run Dart directly, so it checks on the spot whether what you typed matches the reference code (scoring happens entirely in your browser โ€” nothing is sent anywhere).

Ad space (banner)
Ad space (in-article)