Menu
Coddy logo textTech

키 존재 여부 확인하기

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

JSON 객체에서 특정 키가 있는지 확인하려면 in 연산자 또는 hasOwnProperty()를 사용하세요. 예를 들어:

const product = { "name": "Laptop", "price": 900 };
if ("price" in product) {
  console.log("Key exists!");
}

if (product.hasOwnProperty("price")) {
  console.log("Key exists!");
}

이것은 처리하기 전에 특정 데이터가 존재하는지 확인할 때 유용합니다.

obj.hasOwnProperty("key")objkey를 자신의 속성으로 가지고 있지 않으면 false를 반환합니다. 하지만 obj.key === undefined가 반드시 hasOwnProperty("key")false를 반환한다는 것을 의미하지는 않습니다. obj.keyundefined인 경우는 두 가지가 있습니다:

  • 속성이 전혀 존재하지 않음 → hasOwnProperty("key")false를 반환합니다.
  • 속성이 존재하지만 undefined 값을 가짐 → hasOwnProperty("key")true를 반환합니다.

예를 들어:

const obj1 = {};  
console.log(obj1.key); // undefined
console.log(obj1.hasOwnProperty("key"));
// false

const obj2 = { key: undefined };
console.log(obj2.key); // undefined
console.log(obj2.hasOwnProperty("key"));
// true
challenge icon

챌린지

쉬움

book 객체를 매개변수로 받는 toggleBookStatus라는 함수를 작성하세요. 이 함수는 다음을 수행해야 합니다:

  1. book 객체에 isRead 속성이 있고 그 값이 true인 경우, false로 변경합니다.
  2. book 객체에 isRead 속성이 있고 그 값이 false인 경우, true로 변경합니다.
  3. book 객체에 isRead 속성이 없는 경우, 해당 속성을 추가하고 true로 설정합니다.
  4. 수정된 book 객체를 반환합니다.

치트 시트

JSON 객체에서 특정 키가 있는지 확인하려면 in 연산자 또는 hasOwnProperty()를 사용하세요:

const product = { "name": "Laptop", "price": 900 };

// 'in' 연산자 사용
if ("price" in product) {
  console.log("Key exists!");
}

// hasOwnProperty() 사용
if (product.hasOwnProperty("price")) {
  console.log("Key exists!");
}

hasOwnProperty()는 속성이 존재하면 (값이 undefined인 경우에도) true를 반환하고, 속성이 존재하지 않으면 false를 반환합니다:

const obj1 = {};  
console.log(obj1.hasOwnProperty("key")); // false

const obj2 = { key: undefined };
console.log(obj2.hasOwnProperty("key")); // true

직접 해보기

function toggleBookStatus(book) {
    // 여기에 코드를 작성하세요
}
// 함수 외부에는 아무것도 작성하지 마세요
quiz icon실력 점검

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

논리 & 흐름의 모든 레슨