[JavaScript] 오브젝트 프로퍼티 읽기, 삭제하기

Object 표현

객체 키 추가

const person = {
  'state-address': 'seoul',
  nation: 'Korea',
  1: 10
}
  • 객체의 키 값은 문자열이 되어야 한다.
  • nation의 경우 문자열이 아닌것 같지만 암묵적으로 타입이 문자열로 변환된다
  • state-address의 경우 연잔사를 포함한 식이므로 '', "" 문자열 표시를 통해 명시해줘야 한다

프로퍼티 값 읽어오기

console.log(person.nation);
  • 기본적으로 객체의 값을 읽을 땐 마침표 표기법으로 접근 가능하다
console.log(person.state-address);
  • 위와 같은 경우 연산자가 들어간 식이므로 레퍼런스 에러가 발생한다
  • 실제적으론 person.state - address 로 연산시도 한다
console.log(person[state-address]); // ReferenceError
console.log(person['state-address']);
  • 첫번째 줄 대괄호 표션식으로 값을 읽어오는데 키 값이 연산자를 포함한 식이기 때문에 state - address 결과 값을 키로 프로퍼티를 불러오려고 한다
  • 두번째 줄과 같이 문자열을 통해 프로퍼티 값을 읽어오는 것이 가능하다
console.log(person['1'])
console.log(person[1])
console.log(person.1) // SyntaxError
  • 숫자가 키값을 가지는 경우 첫째줄과 두번째줄은 의도대로 동작한다
  • 숫자를 대괄호 표현식으로 프로퍼티 값을 가지고 오는경우 값이 문자열로 변환되어 첫째줄과 같은 표현이 된다
  • 마침표 표현식으로 숫자가 키인 프로퍼티값을 불러올 수 없다

프로퍼티 삭제

const person = {
  'state-address': 'seoul',
  nation: 'Korea',
  1: 10
}

delete person.nation;
  • delete 연산자로 프로퍼티 삭제가 가능하다
delete person
  • 객체를 지정할 수는 없다
  • 프로퍼티 키를 지정해야 한다

좋은 웹페이지 즐겨찾기