반응형
들어가기 앞서
Closure의 이해
https://cruella-de-vil.tistory.com/47
예제
클로저를 이용하여 id, 이름, 국영수 성적을 생성하는 함수를 구현하려 한다.
- 학번, 이름, 국영수 성적의 getter/setter를 구현하시오.
- 성적의 평균을 구하는 함수를 구현하시오. (단 평균은 소수점 2자리)
<body>
<script>
function makeStudent(id, name, score)
{
return {
getId()
{
return id;
},
setId(_id)
{
id = _id;
},
getName()
{
return name;
},
setName(_name)
{
name = _name;
},
getScore()
{
return score;
},
setScore(_score)
{
score = _score;
},
getAverage()
{
let newScore = 0;
for (let i = 0; i < score.length; i++)
{
newScore = newScore + score[i];
}
return (newScore/score.length).toFixed(2);
}
}
}
const stu1 = makeStudent('hgd', '홍길동', [67, 87, 94]);
const avg = stu1.getAverage();
console.log(avg)
//82.67
</script>
</body>
반응형
'JavaScript' 카테고리의 다른 글
[JavaScript] new.target (0) | 2022.04.19 |
---|---|
[JavaScript] Prototype (0) | 2022.04.19 |
[JavaScript] 객체지향, Constructor(생성자), new (0) | 2022.04.18 |
[JavaScript] apply() (0) | 2022.04.18 |
[JavaScript] 소숫점 자리수 정하기 toFixed() (0) | 2022.04.18 |