원하는 data가 여러개 일때 아래와 같이 코드를 하나씩 여러번찍어야 하는 불편함이 있다.
function print(person){
console.log(person.name);
console.log(person.age);
}print()
그래서 object를 만들어서 사용하게된다.
두가지가 있다. 빈{} 만들거나, 클래스를 이용하는 방법이 있다.
- const obj1 = {};
const ellie = {name : 'ellie', age:4};
print(ellie);
- 클래스에서 object를 만드는 방법 --> 매번 직접 oject를 만들지 않고 간편하게 사용할 수 있다.
const person1 = new Person ('steve', 20);
function Person(name, age){
//this = {} 새로운 object를 만들어서 this에다 넣고
this.name = name;
this.age= age;
// this를 return
}
자바스크립트는 동적이기 때문에 추가가 가능하다. 2가지 방법이 있다.
ellie.hasJob = true
ellie['hasjob'] = true
- console.log(ellie.name);
보통은 이방법을 사용
객체는 key와 value의 집합체이다. 따라서 (객체이름.키) 로 입력하는 방법이 일반적이다.
- console.log(ellie['name']);
이때 key는 string타입으로 입력해야하며
일반적으로, 어떤 key가 있는지 모를때 사용 [key]이렇게 넣어서
console.log('name' in ellie)
for문 이용하기
for (key in ellie){ //모든키들을 받아와서 처리시
console.log(key)
}
const array = [1,2,3,4];
for(i=0 ; i<array.length; i++;){
console.log(array[i])
}
//이 방법을 쉽게 하는 방법 for..of
const array = [1,2,3,4];
for(value of array){ // array에 있는 value가 순차적으로 할당
console.log(value)
}
cloning
const user ={name : 'ellie', age:4};
const user2 = user ; // user
user2.name = 'coder';
Oject.assign()