Menu
Coddy logo textTech

JSON 옵셔널 체이닝

Coddy JavaScript 여정의 논리 & 흐름 섹션에 포함된 레슨 — 65개 중 24번째.

옵셔널 체이닝(?.)을 사용하면 속성이 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실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리 & 흐름의 모든 레슨