Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 인접리스트
- 프로그래머스
- 코딩테스트
- javascript
- LifeCycle
- JWT
- 알고리즘
- Kubernetes
- winston
- puppeteer
- 자료구조
- typescript
- bean
- css
- java
- node.js
- 인접행렬
- Deep Dive
- Interceptor
- 탐욕법
- REST API
- TIL
- nestjs
- MySQL
- GraphQL
- OOP
- html
- Spring
- Linux
- dfs
Archives
- Today
- Total
처음부터 차근차근
객체 메소드 본문
728x90
객체 Object
- 하나의 변수에 여러 개의 값을 넣을 수 있다.
- key - value pair
1) 기본적인 객체 생성 방법
속성과 값을 콜론(:)으로 구분하여 작성한다.
// 1-1. 기본적인 객체 생성 방법
let person = {
name: "홍길동",
age: 30,
gender: "남자"
};
2) 생성자 함수를 이용한 객체 생성 방법
// 1-2. 생성자 함수를 이용한 객체 생성 방법
function Person(name, age, gender) {
this.name = name;
this.age = age;
this.gender = gender;
};
// 여러개의 객체를 생성 할 수 있다.
let person1 = new Person("홍길동", 30, "남자");
let person2 = new Person("홍길순", 25, "여자");
여러개의 객체를 생성할 수 있다.
3) 접근하는 방법
// 2.접근하는 방법
console.log("1",person.name); // "홍길동"
console.log("2",person.age); // 30
console.log("3",person.gender); // "남자"
객체.속성을 통해 해당 값을 출력할 수 있다.
4) keys 메소드
key를 다 가져오는 메소드
// 3-1object.keys()
// key를 다 가져오는 메소드
let keys = Object.keys(person);
console.log(keys); // ["name", "age", "gender"]
5) values 메소드
value를 다 가져오는 메소드
// 3-2 values
let values = Object.values(person);
console.log(values); // ["홍길동", 30, "남자"]
6) entries 메소드
key와 value를 묶어서 배열로 만들기
// 3-3 entries
// key와 value를 묶어서 배열로 만들기! (2차원 배열)
let entries = Object.entries(person); // [ [ 'name', '홍길동' ], [ 'age', 30 ], [ 'gender', '남자' ] ]
console.log(entries);
7) assign 메소드
객체를 복사하며, {} 입력값을 통해 변경할 수 있다.
// 3-4 assign
// 객체를 복사한다. (입력값만 변경할 수 있다.)
let newPerson = Object.assign({}, person, { age: 35 }); // age 속성을 35로 변경해줘.
console.log(newPerson); // { name: "홍길동", age: 35, gender: "남자" }
8) 객체 비교
// 3-5 객체 비교
// 객체 크기가 상당히 크다! => 메모리에 저장할 때 별도의 공간에 저장
// person1 별도 공간에 대한 주소
let person3 = {
name: "홍길동",
age: 30,
gender: "남자"
};
// person2 별도 공간에 대한 주소
let person4 = {
name: "홍길동",
age: 30,
gender: "남자"
};
// 객체를 비교할 때는 일반적으로 === 연산자로 사용할 수 없다.
// === 로 비교하면, 주소를 비교하기 때문에 다르다고 나온다!
console.log(person1 === person2); // false
//JSON.stringify() => 문자열화를 통해 비교하면 true로 나온다.
console.log(JSON.stringify(person1) === JSON.stringify(person2)); // true
9) 객체 병합
// 3-6 객체 병합
let person5 = {
name: "홍길동",
age: 30
};
let person6 = {
gender: "남자"
};
let mergedPerson = {...person3, ...person4};
console.log(mergedPerson); // { name: "홍길동", age: 30, gender: "남자" }
'Language > JavaScript' 카테고리의 다른 글
ES6 문법 (1) | 2023.05.25 |
---|---|
배열, 배열 메소드 (1) | 2023.05.24 |
조건문, 반복문 (1) | 2023.05.24 |
함수와 Scope (0) | 2023.05.22 |
연산자 (0) | 2023.05.22 |