Menu
Coddy logo textTech

JSONの Optional Chaining

CoddyのJavaScriptジャーニー「論理とフロー」セクションの一部 — レッスン 24/65。

オプショナルチェーン (?.) を使用すると、プロパティが null または undefined であっても、エラーを心配することなく、ネストされたプロパティに安全にアクセスできます。

オプショナルチェイニングを使用しない例:

let obj = {};
console.log(obj.key1.key2);
// エラー: undefined のプロパティを読み取ることができません

オプショナルチェイニングを使用した例:

let obj = {};
console.log(obj.key1?.key2);
// undefined (エラーなし)
  • key1が存在する場合、key2にアクセスします。
  • key1nullまたはundefinedの場合、エラーをスローする代わりにundefinedを返します。

その他の例:

let user = {
	profile: {
		name: "Alice"
	}
};

console.log(user.profile?.name);
// "Alice"
console.log(user.profile?.age);
// undefined (エラーなし)
console.log(user.address?.city);
// undefined (エラーなし)
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

チートシート

オプショナルチェーン (?.) は、プロパティが null または undefined の場合でも、エラーを発生させずにネストされたプロパティに安全にアクセスします:

let obj = {};
console.log(obj.key1?.key2);
// undefined (エラーなし)

プロパティが存在する場合、次のレベルにアクセスします。null または undefined の場合は、エラーをスローする代わりに undefined を返します。

let user = {
	profile: {
		name: "Alice"
	}
};

console.log(user.profile?.name);    // "Alice"
console.log(user.profile?.age);     // undefined
console.log(user.address?.city);    // undefined

自分で試してみよう

このレッスンにはコードチャレンジは含まれていません。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

論理とフローのすべてのレッスン