1. 점 표기법 (dot notatin)
점 표기법은 말그대로 점으로 객체의 속성에 접근하는 방법이다.
let obj = {
name : '홍길동',
job : 'Doctor',
hobby: 'soccer'}
예를들어 위와 같은 객체가 있을 때 obj라는 객체의 속성에 접근하려면
obj.name | obj.job | obj.hobby
처럼
객체명 . 속성
으로 접근하면 된다.
◾ dot notaion의 콘솔로그2. 대괄호표기법 (bracket notation)
대괄호 표기법은 [ ] 를 이용하여 속성에 접근하는 방법이다.
obj['name'] | obj['job'] | obj['hobby']
객체명['속성']
으로 접근하면 되는데 점 표기법과 달리 대괄호안에 ' ' 따옴표를 넣어줘야한다.
원래는 객체안의 key(name, job, hobby)도 string이기 때문에 따옴표를 넣어 작성해야하지만 편의를 위해 javascript에서 따옴표없이 작성하더라도 상관없이 만들었다고 한다. key (name, job, hobby)에 따옴표를 넣더라도 상관은 없다.
1. 점 표기법
내가 선언한 객체 속성에 city가 존재하지 않지만
객체의 속성에 접근하여 새로이 할당하면 추가가 가능합니다. 접근하려는 속성이 객체에 없다면 추가가 되고 객체에 있다면 수정이 됩니다.
위와 같이 이미 객체에 name이라는 key가 존재했었기 때문에 name에 접근하여 김코드로 새로 할당한 후에 콘솔로그에는 홍길동이 아닌 김코드로 수정되어있는 모습을 볼 수 있습니다.
2. 대괄호 표기법
마찬가지로 대괄호 표기법도 똑같이 추가 수정이 가능합니다.
객체를 삭제할때는 delete 연산자를 사용합니다.
delete 객체명.속성 | delete 객체명['속성']
이러한 방식으로 객체안의 속성을 삭제할 수 있습니다.
1. 점 표기법 삭제 2. 대괄호 표기법 삭제1. 점 표기법
객체안의 객체에 접근하기 위해
객체명 . 1속성(pets). 2속성(cats)
이런식으로 속성을 중첩하여 접근하면 속성안의 속성에 접근할 수 있습니다.
위에 경우에는 cats, dogs 안에 배열로 여러가지의 속성값이 존재하기 때문에 객체접근과 배열접근을 섞어보았습니다.
2. 대괄호 표기법
대괄호 표기법도 마찬가지로 속성을 중첩하여 작성하면 객체안의 객체 속성에 접근할 수 있습니다.