javascript 생성자 함수를 활용한 객체 생성
by 으렴일단 객체를 리턴해주는 함수를 만들어보자
function makeObject(name,kor,eng){
return {
name:name,
kor:kor,
eng:eng,
getTotal:function(){
return this.kor+this.eng
},
outPut:function(){
console.log(this.name,this.kor,this.eng,this.getTotal())
}
}
}
이렇게 makeObject라는 함수를 만들고
const arr = []
arr.push(makeObject('dog',67,5))
arr.push(makeObject('cat',23,6))
arr.push(makeObject('tut',86,4))
arr.push(makeObject('miu',34,1))
arr.push(makeObject('eit',12,2))
배열을 선언후 배열안에 함수를 불러 리턴시킨 객체를 넣어주었다.
이렇게 해서 객체를 생성하는 방법이 있고
생성자 함수를 만들어 new 생성을통해 만들어주는 경우가 있다.
생성자 함수를 만들어보자
function ff(name,kor,eng){
this.name = name
this.kor = kor
this.eng = eng
this.getTotal=function(){
return this.kor+this.eng
}
this.outPut = function (){
console.log(this.name,this.kor,this.eng,this.getTotal())
}
}
이런식으로 생성자함수를 만들어준뒤
const ar = []
ar.push(new ff(`cat1`,3,36))
ar.push(new ff(`cat2`,5,29))
ar.push(new ff(`cat3`,4,67))
ar.push(new ff(`cat4`,1,85))
ar.push(new ff(`cat5`,8,85))
ar.push(new ff(`cat6`,7,54))
ar.push(new ff(`cat7`,6,82))
ar.push(new ff(`cat8`,2,45))
배열을 만들며 그 안에 넣어준다.
근데 이 함수를 new형식으로 만들어 넣어주어야 한다.
ar.sort((o1,o2)=>{
return o2.kor-o1.kor
})
for (let i = 0; i < ar.length; i++) {
ar[i].outPut()
//console.log(ar[i]);
}
걍 kor을 기준으로 sort해서 찍어보자
cat5 8 85 93
cat6 7 54 61
cat7 6 82 88
cat2 5 29 34
cat3 4 67 71
cat1 3 36 39
cat8 2 45 47
cat4 1 85 86
걍 일케 나오긴한다.
객체를 리턴하는방법 생성자 함수를 만드는 방법 두가지가 있는데
어느 것을 더 선호하냐 하면 생성자 함수 쪽이다.
하지만 둘다 많이쓰이므로 둘다 익히도록
'Web > JAVASCRIPT' 카테고리의 다른 글
javascript function과 관련한 잡활용 (0) | 2019.07.31 |
---|---|
javascript 잡 문법 (1) | 2019.07.30 |
javascript의 function활용에 대하여 (0) | 2019.07.30 |
javascirpt 기초를 잡자 (0) | 2019.07.29 |
node.js net module :: net으로 클라이언트 접속해보기 (0) | 2019.07.24 |
사이트의 정보
코딩하렴
으렴