본문 바로가기

하루정리

2022-09-07 하루 정리 JavaScpript Object

Object

object {ket : value}  : object는 키와 벨류의 집합이다.

 

const obj1 ={}; //object literal
const bvj2 =new Object(); object conStructor

const ellie = {name : 'ellie' , age : 4};

 

 

2.Computed Propertis

java script 에서는 추가하지 않은 ref(레퍼런스)를 추가하고 지울 수 있다.

const ellie = {name : 'ellie'} 

//선언부가 아니라고 해도 key값을 추가 할 수 있다.
//다만 실무에서 쓰이는 경우가 극히 드물어 자세히 필기하지는 않는다.

 

3.Proerty value shorthand

 

const person1 = {name : 'bob', age : 20};
const person2 = {name : 'bob', age : 20};
const person3 = {name : 'bob', age : 20};

//Object를 필요할 때 일일히 만들게 되면 동일한 키와 벨류를 계속 선언해 줘야 한다. 
//이처럼 중복되는 key값을 번거롭게 작성하지 않는 방법이 있다.
function makePerson(name, age){
return{
name, //키와 value가 동일하다면 앞에 들어가는 name:와 age:를 생략 가능하다. 
age
}
}
//이렇게 하면  간단히 선언이 가능하다. 
const person4 = makePerson('홍길동', 30);

//여기까지는 class가 나오기 전 방식


//class방식
vunction Person(name, age){ //class를 선언할 때는 첫 글자를 대문자로 해야 함. 
this.name = name;
this.age = age;  //return도 필요 없다(생략 가능)
}
const person4 = new Person('홍길동', 30);

// 이를 constuctor Function : 컨스트럭션 펑션이라고 함.

 

 

4.in operator : property existence chek (key in object)

console.log('name' in 'person'); //true
console.log('age' in 'person'); //true
console.log('random' in person); //fales

//해당하는 key가 object 안에 있는지 확인 할 수 있다. 
//person안에 name, age가 있기 때문에 true

 

 

5. for ...in     vs    for ...of

 

//for in
for(key in ellie){
console.log(key)
}
//for in : 대상의 모든 key 값을 받아 올 수 있다. 
//출력값은name, age 이다
//형식은 : for(key in object)


//for of

const array(1,2,3,4,5);

//기존 방식
for(let i = 0; i<array.lengt; i++){ //i가 array.lengt보다 작을 때 까지만 반복
	console.log(array[i])		//조건이 true 일 때만 i++를 해서 반복하고 fales가 되면 멈춰라
}

//for of방식
for (value of array){
console.log(value);
}
//훨씬 간단하게 코딩을 할 수 있음.

 

 

5. Pun cloning

Object.assing(dest, [ovj1, ovj2, ovj3....])

const  user = [name: '홍길동', age : '20' };
const  user2 = user;
console.log (user); // name"coder", age : "20"


const user4 ={};
Object.assign(user4, user);
cinsole.log(user4); // [name: '홍길동', age : '20' };
//이렇게 해도 되고 
const user4 =Object.assign({}, user);
//이렇게 적어도 된다


//anotger example

const fruit1 = {color : 'red'};
const fruit2 = {color : 'blue' size : 'big'};
const mixed - Object.assign({}, fruti1, fruit2);

console.log(mixed.color); //blue
console.log(mixed.size); // big

//assign은 뒤에 오는 것이 값을 덮어씌운다.  fruit2