본문 바로가기

자바스크립트 리뷰

간단한 추상화 연습2 : 객체를 파라미터로 받는 함수[혼공자 9-1-3]

간단한 추상화 연습1과 똑같은 결과를 도출한다. 특이한 점은 파라미터로 객체가 들어가는 함수라는 점이다. console에 찍어보면 깔끔하게 나온다. 코드를 보자.

      // 객체를 선언합니다.
      const students = []
      students.push({ 이름: '구름', 국어: 87, 영어: 98, 수학: 88, 과학: 90})
      students.push({ 이름: '별이', 국어: 92, 영어: 98, 수학: 96, 과학: 88})
      students.push({ 이름: '겨울', 국어: 76, 영어: 96, 수학: 94, 과학: 86})
      students.push({ 이름: '바다', 국어: 98, 영어: 52, 수학: 98, 과학: 92})

      // 객체를 처리하는 함수를 선언합니다.
      function getSumOf (student) {
        return student.국어 + student.영어 + student.수학 + student.과학  
      } // 파라미터에 들어간 객체의 국어 속성의 값 + 영어 속성의 값 + 수학 속성의 값 + 과학 속성의 값을 return

      function getAverageOf (student) {
        return getSumOf(student) / 4
      }  // 위의 본 함수의 파라미터를 getSumOf함수에 똑같이 넣어 나온 값을 4로 나눔.

      // 출력합니다.
      let output = '이름\t총점\t평균\n'
      for (const s of students) {  //s 에 students 속 객체가 하나씩 돌아가면서 들어감.
        output += `${s.이름}\t${getSumOf(s)}점\t${getAverageOf(s)}점\n`  //객체를 파라미터로 받고있음.
      }
      console.log(output)