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
'하루정리' 카테고리의 다른 글
2022.09.14 Java Script 배열 함수 (0) | 2022.09.15 |
---|---|
2022.09.13 JavaScript Array (0) | 2022.09.14 |
2022.09.06 Function과 ArrowFunction (0) | 2022.09.07 |
2022.09.06 Model, ModelMap 과 modelAndView (0) | 2022.09.06 |
2022.09.05 JavaScript : Class와 Object의 차이, 상속과 다향성 , instanceOf (0) | 2022.09.05 |