점·대괄호 표기, 추가, 변경, 삭제와 존재 검사를 배웁니다.
object.key와 object['key']로 값을 읽고 대입으로 추가·변경합니다. Object.hasOwn은 객체 자체가 가진 속성인지 검사하며 delete는 속성을 제거합니다.
코드를 읽을 때는 object.property; object[key]; Object.hasOwn(object, key); 부분부터 찾으세요. 현재 값과 실행 순서를 줄마다 적어 보면 문법을 외우지 않아도 결과를 예측할 수 있습니다.
실행하기 전에 예상 결과를 짧게 적은 뒤 role을 delete하고 hasOwn 결과를 다시 확인하세요. 실제 출력이 다르면 콘솔에 처음 나타난 오류와 그 직전 값을 차례로 확인하세요.
존재하지 않는 속성을 읽으면 오류 대신 undefined가 나오므로 필요한 값은 검증하세요.
직접 바꿔보세요role을 delete하고 hasOwn 결과를 다시 확인하세요.