
고차함수 리뷰 및 과제 풀이
시간이 꽤나 많이 지났다 벌써 한달이 넘었으... 6개월 과정의 1달이 지다나니...
그러나 아직도 나는 모르겠닼ㅋㅋㅋㅋㅋㅋ 그래도 화이팅
_.identity
_.identity는 전달인자(argument)가 무엇이든, 그대로 리턴합니다.
// 이 함수는 underbar의 기능 구현 및 테스트를 위해 재사용되는 함수입니다.
_.slice
_.slice는 배열의 start 인덱스부터 end 인덱스 이전까지의 요소를 shallow copy하여 새로운 배열을 리턴합니다.
_.take
_.take는 배열의 처음 n개의 element를 담은 새로운 배열을 리턴합니다.
_.drop
_.drop는 _.take와는 반대로, 처음 n개의 element를 제외한 새로운 배열을 리턴합니다.
_.last
_.last는 배열의 마지막 n개의 element를 담은 새로운 배열을 리턴합니다.
_.each
_.each는 명시적으로 어떤 값을 리턴하지 않습니다.
_.indexOf
_.indexOf는 target으로 전달되는 값이 arr의 요소인 경우, 배열에서의 위치(index)를 리턴합니다.
_.filter
_.filter는 test 함수를 통과하는 모든 요소를 담은 새로운 배열을 리턴합니다.
_.uniq
_.uniq는 주어진 배열의 요소가 중복되지 않도록 새로운 배열을 리턴합니다.
_.map
_.map은 iteratee(반복되는 작업)를 배열의 각 요소에 적용(apply)한 결과를 담은 새로운 배열을 리턴합니다.
_.pluck
_.pluck은
1. 객체 또는 배열을 요소로 갖는 배열과 각 요소에서 찾고자 하는 key 또는 index를 입력받아
2. 각 요소의 해당 값 또는 요소만을 추출하여 새로운 배열에 저장하고,
3. 최종적으로 새로운 배열을 리턴합니다.
_.reduce
_.reduce는
1. 배열을 순회하며 각 요소에 iteratee 함수를 적용하고,
2. 그 결과값을 계속해서 누적(accumulate)합니다.
3. 최종적으로 누적된 결과값을 리턴합니다.
클로져(closure)
Chat GPT
클로저(Closure)란 함수가 정의될 때의 렉시컬 환경(Lexical Environment)을 기억하여, 함수가 정의될 때의 스코프 및 변수들에 대한 참조를 계속 유지하는 특성을 말합니다.
즉, 함수 내부에서 정의된 함수가 외부 함수의 변수를 참조할 경우, 외부 함수의 실행 컨텍스트는 사라졌지만 내부 함수는 여전히 외부 함수의 변수를 참조할 수 있습니다. 이 때 내부 함수를 클로저라고 부릅니다.
클로저를 사용하면, 함수 내부에서 선언된 변수를 외부에서 직접 접근할 수 없게 되므로, 변수의 접근을 제한하고 함수의 동작을 안전하게 보장할 수 있습니다. 또한, 클로저는 객체지향 프로그래밍에서의 private 멤버나 모듈 패턴 등을 구현하는 데에도 활용됩니다.
다만, 클로저를 남발하면 메모리 누수(memory leak)가 발생할 수 있으므로, 필요한 경우에만 사용해야 합니다.
https://superb-rover-35f.notion.site/Unit3-JS-Node-a27bf2c82c634d6cb234d6aea77bbf26
Unit3 - [JS/Node] 비동기
자주 사용되는 기본적인 JavaScript의 배열 메서드를 직접 구현하며 원리를 이해한다.
superb-rover-35f.notion.site
노션 정리 링크!!
요즘은 노션에 정리하는 일이 많은거 같다
| [FE 45] _23.05.17 _ Day 26 (Node.js) (0) | 2023.05.17 |
|---|---|
| [FE 45] _23.05.16 _ Day 25 (JS_고차함수) (0) | 2023.05.16 |
| [FE 45] _23.05.12 _ Day 23 (JS_객체 지향 프로그래밍) (0) | 2023.05.12 |
| [FE 45] _23.05.11 _ Day 22 (JS_객체 지향 프로그래밍) (0) | 2023.05.11 |
| [코드스테이츠 FE 45기] _2023.05.10 _ Day 21 (JS_고차 함수) (0) | 2023.05.10 |