studyHard
article thumbnail
Published 2023. 3. 14. 20:50
Higher Order Function Language/JavaScript

JavaScript 대표적인 일급 객체 중 하나가 함수이다. JavaScript에서 함수는 아래와 같이 특별하게 취급된다.

  • 변수에 할당(assignment)할 수 있다.
  • 다른 함수의 전달인자(argument)로 전달될 수 있다.
  • 다른 함수의 결과로써 리턴될 수 있다.

 

함수를 변수에 할당할 수 있기 때문에, 함수를 배열의 요소나 객체의 속성 값으로 저장할 수 있다.

함수를 데이터(string, number, boolean, array, object)처럼 다룰 수 있습니다.

 

 

'함수를 리턴하는 함수'와 '함수를 전달인자로 받는 함수' 모두, 고차 함수로 사용한다.

 

 

 


배열 메서드 .filter(), .map(), .reduce()

arr.filter(callback(element[, index[, array]])[, thisArg])
 arr.map(callback(currentValue[, index[, array]])[, thisArg])
 arr.reduce(callback[, initialValue])

 

 


오늘 고차 함수, 콜백 함수, 내장 고차 함수등.. 많은 걸 배웠다. 전날에 미리 예습을 해서 어렵지 않게 이해할 수 있었다. 예습이 없었다면 많이 힘들었을지도....

 

내일은 객체 지향 프로그래밍인데 벌써 걱정투성이다. 🫠🫠

 

 

. reduce() 메서드는 아직 좀 헷갈리고 더 깊게 공부해보고 싶다. 해볼 예정이다.

아래는 어려움을 겪은 문제인데. reduce() 때문에 좀 헤맸던 것 같다. 익숙해질 때까지 매일 한 번씩 볼 거다.

function studentReports(students) {
  const female = students.filter(function (x) {
    return x.gender === 'female';
  });

  return female.map(function (x) {
    const sum = x.grades.reduce(function (acc, cur) {
      return acc + cur;
    }, 0);
    const avg = sum / x.grades.length;

    x.grades = avg;
    return x;
  });
}

'Language > JavaScript' 카테고리의 다른 글

클래스  (0) 2023.03.14
객체 지향 프로그래밍  (0) 2023.03.14
this  (2) 2023.03.13
DOM 2  (2) 2023.03.08
DOM 기초 개요  (0) 2023.03.07
profile

studyHard

@언젠간코딩잘함

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!