상세 컨텐츠

본문 제목

[TestDome] Remove Property (JavaScript)

PROGRAMMING/Web

by koharin 2021. 1. 10. 00:57

본문

728x90
반응형
function removeProperty(obj, prop) {
  if(obj.hasOwnProperty(prop)){
    delete obj[prop];
    return true;
  }
  return false;
}
function removeProperty(obj, prop) {
  if(obj[prop] !== undefined) { 
    delete obj[prop];
    return true;
  }
  return false;
}
  • object가 prop를 가지고 있으면, obj에서 prop를 삭제하고 true를 반환한다.
  • 가지고 있지 않으면 false를 반환한다.
  • 객체의 속성에 접근할 때 obj.prop 또는 obj[prop]으로 가능할 줄 알았는데, obj.prop으로는 안됐고 obj[prop]으로 delete를 삭제해줘야 첫 번째 항목에서 pass될 수 있었다.
  • property를 가지는 경우 return true를, 아닌 경우에는 false를 반환해서 두 번째 조건을 만족시켰다.

 

object가 특정 property를 가지고 있는지 판별하는 방법

1. in

property in object

 

2. hasOwnProperty

object.hasOwnProperty('property_name')

3. undefined

object.prop !== undefined

위의 결과가 true이면 object는 property를 가지고 있는 것이고, false이면 가지고 있지 않은 것이다.

 

 

object에서 property 삭제

delete 연산자는 object에서 property와의 연결성만 끊는 것이고, 메모리에서 제거되지 않는다.

따라서 null 또는 undefined로 만들어서 제거할 수 있다.

 

하지만 이 문제에서는 delete 연산자를 사용해야 첫 번째 항목에서 pass할 수 있다.

728x90
반응형

관련글 더보기