Skip to content
Learn Netverks

Lesson

Step 13/32 41% through track

optional-readonly

Optional and readonly

Last reviewed Jun 1, 2026 Content v20260601
Track mode
client_typescript
Means
In-browser TS
Reading
~1 min
Level
intermediate

This lesson

This lesson teaches Optional and readonly—the ideas, syntax, and habits you need before moving on in TypeScript.

Without a solid grasp of Optional and readonly, you will repeat mistakes in TypeScript exercises and on real pages or scripts.

You will apply Optional and readonly in contexts like: Modern front-end apps, Node APIs, and any team that standardizes on TS-first tooling.

Write TypeScript, compile in the browser, run the emitted JavaScript, and check understanding with MCQs.

When the previous lesson's MCQs feel easy and you can explain Optional and readonly in your own words.

readonly prevents reassignment of properties. ReadonlyArray<T> blocks mutating methods like push.

Immutability in APIs

Expose readonly arrays from functions so callers cannot mutate internal state. Optional properties model “may be absent” distinct from “present but undefined” when exactOptionalPropertyTypes is enabled.

Readonly at compile time does not freeze deep object graphs—nested fields may still be mutable unless you use deep readonly patterns.

Self-check

  1. What breaks if you call push on a ReadonlyArray<string>?

Practice: Apply optional-readonly in the playground, then explain optional readonly in one sentence without looking at notes.

Interview tip Lesson completion confidence

Can you explain this lesson in 30 seconds without reading notes?

Not saved yet.

Playground

Runs in your browser in a sandboxed frame. Backend runners appear when this track’s profile allows them.

Check yourself

Multiple choice — immediate feedback.

Discussion

Past discussion is visible to everyone. Only logged-in users can post comments and replies.

Starter discussion topics

  • What part of this lesson needs a second read?
  • What would you try differently in a real project?

Sign up or log in to post comments and sync lesson progress across devices.

No discussion yet. Be the first to ask a question.

Jump