객체(Object)?
여러개의 데이터를 한 변수에 저장할 수 있는 자료형
앞의 배열과의 차이점 : 특별한 키를 통해 원하는 값(value)에 접근 가능한
key-value의 쌍 으로 구성
- 특징
객체는 데이터를 구조화해 저장 할 수 있는 기본 자료형 중 하나
- 객체 리터럴을 이용한 생성 (가장 간단)
const person = {
name: "John",
age: 30,
job: "developer" }; - 생성자 함수를 사용한 생성
function Person(name, age, job) {
this.name = name;
this.age = age;
this.job = job; }
const person1 = new Person("John", 30, "developer");
const person2 = new Person("Jane", 25, "designer"); - 속성 접근
1) 점 표기법
console.log(person.name[0]); // "John"
console.log(person.age); // 30
2) 대괄호 표기법
console.log(person["name"][0]); // "John"
console.log(person["age"]); // 30 - 속성 추가 및 변경
person.name = "Jane"; // 기존 속성 변경
person.city = "New York"; // 새로운 속성 추가
console.log(person.name); // "Jane"
console.log(person.city); // "New York" - 속성 삭제
- delete 키워드를 사용해 객세의 속성 삭제 가능
- delete person.age;
console.log(person.age); // undefined - 객체 메서드
- 객체는 함수도 속성으로 보유 가능
- 이러한 함수를 메소드라고 한다.
1) hasOwnProperty() : 객체에 주어진 속성이 직접 정의된 것인지 확인할 때 유용
obj.hasOwnProperty(prop) // obj: 속성을 확인할 객체
prop: 확인할 속성의 이름(문자열)
const person = {
name: "John",
age: 30 };
console.log(person.hasOwnProperty("name")); // true
console.log(person.hasOwnProperty("job")); // false - for ... in
- 객체의 열거 가능한 속성을 반복할 때 사용
- 객체의 이름(key)을 하나씩 순회 / 주로 객체의 속성을 순회할 때 사용
- 반드시 순서대로 반복 X
- for (let variable in object) {
반복할 코드 }
variable: 현재 속성의 키를 저장할 변수
object: 반복할 객체
- const person = {
name: '재현',
age: 20;
gender: 'male' };
for (let key in person) {
console.log(key+ ": " + person[key]); } // name: John age: 30 job: developer - call by keys(), values()
- Object.keys() : 객체의 열거 가능한 속성 이름(key)들
- Object.values() : 객체의 열거 가능한 속성 값(value)들
- 을 배열으로 반환
- 객체의 속성들을 쉽게 접근 하고 조작 가능하게 해줌
- Object.keys(obj) / obj : 열거 가능한 속성 이름을 추출할 객체
const person = {
name: "John",
age: 30,
job: "developer" };
const keys = Object.keys(person);
console.log(keys); // ["name", "age", "job"]
* 배열에서도 사용 가능
const fruits = ['apple', 'banana', 'cherry'];
const keys = Object.keys(fruits);
console.log(keys); // ['0', '1', '2']
- Object.values(obj) / obj : 열거 가능한 속성 이름을 추출할 객체
const person = {
name: "John",
age: 30,
job: "developer" };
const values = Object.values(person);
console.log(values); // ["John", 30, "developer"]
* 배열에서도 사용 가능
const fruits = ['apple', 'banana', 'cherry'];
const values = Object.values(fruits);
console.log(values); // ['apple', 'banana', 'cherry']
'[JavaScript]' 카테고리의 다른 글
7. DOM (0) | 2024.07.08 |
---|---|
6. This (0) | 2024.07.08 |
5. 타입(type) - 1 (3) | 2024.07.05 |
+ prompt(), confirm(), alert() (0) | 2024.07.05 |
4. 조건문과 반복 (0) | 2024.07.05 |