14言語・98の基本

省略できる項目

必須ではない情報を、?で表します。

文法だけ見る

何をする書き方?

プロパティ名の後に?を書くと、その項目は省略できます。省略された値はundefinedになり得るため、使う前に確認するか、代わりの値を指定します。??はnullまたはundefinedのときに代わりの値を使います。

type User = { nickname?: string };
?プロパティを省略可能にする。
undefined値が指定されていない状態。
??null・undefinedに代わりの値を使う。

短い例で確かめる

main.ts
type User = { nickname?: string };
const user: User = {};
console.log(user.nickname ?? "名無し");
結果
名無し
準備・実行方法を確認する

JavaScriptの基本を学んでから取り組みましょう。TypeScript公式のPlaygroundに例を貼り付けると、型の確認と実行ができます。ブラウザーは通常 .ts を直接実行せず、JavaScriptに変換したものを実行します。

もう少し詳しいコードを見る
main.ts
type User = {
  name: string;
  nickname?: string;
};

const user: User = { name: "海" };
console.log(user.nickname ?? user.name);
結果
海

自分で試すには

TypeScriptの公式Playgroundで、短い例を貼り付けて試せます。

TypeScript Playgroundを開く

一問だけ、復習しよう

「省略できる項目」の書き方はどれ?

少し変えてみよう

userにnickname: "うみ"を加え、表示が切り替わることを確認しましょう。

つまずいたら、ここを確認

値が必ずあると思い込んで操作しないようにします。strictNullChecksを有効にすると見落としを検出しやすくなります。

自分の言葉でメモ

記録はこのブラウザーに保存されます。

公式資料で詳しく読む