객체 기본
객체는 관련된 데이터와 함수의 집합이다.
객체는 프로퍼티(Property)과 메서드(Method)로 구성된다.
프로퍼티는 명시적으로 선언된 것으로 정의할 수 있고
메서드는 동적인 개념으로 선언된 것이다. 자바스크립트에서는 객체에 선언된 함수를 메서드라고 칭한다.
const DC = {
age: 30; // Property
state: function(behavior) {
console.log('behavior');
} // Method
}
상수(Constant)로 설정된 DC라는 객체이다
해당 객체의 age는 30살으로 명시되어 있다. 그래서 age는 DC 객체 내 프로퍼티이다.
해당 객체의 state는 함수로써 값에 따라 출력이 바뀐다. 따라서 state는 DC 객체 내 메서드이다.
객체 동적 할당
아래는 객체를 동적할당 하는 코드이다.
const obj = {
name: 'DC',
age: '30',
}; // obj라는 객체 생성
function getValue(value) {
return obj[value];
}; // getValue 라는 함수 생성. value를 받으면 obj.value 형식으로 리턴받음.
console.log(obj.name); // 'DC'
console.log(getValue('name')); // obj['name'] = obj.name (bracket notation / 대괄호 표기법)
function addKey(key, value) {
obj[key] = value;
} // key로 프로퍼티 생성 뒤 값 설정.
addKey('tall', '178'); // obj['tall'] = '178' / obj.tall = '178'
function deleteData(value) {
delete obj[value]
}
/* 화살표 함수로 바꾸면 아래와 같음.
deleteData = (value) => {
delete obj[value]
} */
deleteData('age');
console.log(obj);
점 표기법 또는 대괄호 표기법을 통해 객체 내 캡슐화된 것에 접근할 수 있다.
'Javascript' 카테고리의 다른 글
(JS) Array와 push, pop, shift, unshift (배열 자료구조) (0) | 2022.05.20 |
---|---|
클래스 기본 (0) | 2022.05.13 |
변수(Variables)의 원시타입과 객체타입의 메모리 할당 (0) | 2022.05.11 |
(함수) 이름짓기 (0) | 2022.05.10 |
(함수) 기본값, 반환값 (0) | 2022.05.10 |