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 |