멤버 접근 연산자
.은 ~의 라는 의미를 기억
myemail.split('@')[1].split('.')[0] 이런거나
console.log(person.address.zipCode); 이런거
중간에 . . . 이렇게 연결되어있는데
이런걸 "점 표기법(dot notation)" 또는
"멤버 접근 연산자(member access operator)"이라고 합니다.
JavaScript에서 객체와 메서드에 접근하는 방법
JavaScript에서는 점 표기법(.)을 사용하여 객체의 속성이나 메서드에 접근할 수 있습니다.
위에 예시 처럼 표현함으로써
해당 객체의 구조를 따라내부에 있는 속성이나 메서드에 접근
예를 들어, 변수.함수.함수와 같은 표현은 변수가 가리키는 객체에서 함수를 호출하는 것입니다.
이 경우, 변수는 첫 번째 함수를 호출하고,
그 결과로 반환되는 값에 대해 두 번째 함수를 호출합니다.
이것은 객체의 속성이나 메서드가 다른 객체를 반환할 수 있고,
반환된 객체에 다시 접근할 수 있음을 의미합니다. > 해당 값 조작도 가능
이는 JavaScript에서 객체를 사용하여 데이터를 구조화하고 조작하는 강력한 방법 중 하나입니다.
지역 스코프에 들어갈 때도 유사한 방식을 사용
함수 안에서 다른 함수를 호출하거나
객체 내의 메서드를 호출할 때도 이러한 방식을 사용합니다.
점 + []
객체의 속성 이름이 동적으로 결정되는 경우
myemail.split('@')[1].split('.')[0] 이렇게 []를 같이 쓰기도
대괄호 표기법은 동적으로 속성 이름이 결정되는 경우에 주로 사용됩니다.
const person = {
name: 'John',
address: {
city: 'New York',
zipCode: '10001'
},
getEmailDomain: function() {
return this.email.split('@')[1];
}
};
console.log(person.name); // 'John'
console.log(person.address.city); // 'New York'
console.log(person.address.zipCode); // '10001'
console.log(person.getEmailDomain()); // 함수 호출 결과
2번째 보면
함수 person 의 객체에서 address를 타고 city값을 뽑아옴