상세 컨텐츠

본문 제목

[FE 45] _23.05.15 _ Day 24 (JS_고차함수)

프론트앤드 부트캠프/Day

by 코린’s 2023. 5. 15. 16:14

본문

728x90
반응형


고차함수 리뷰  및 과제 풀이

시간이 꽤나 많이 지났다 벌써 한달이 넘었으... 6개월 과정의 1달이 지다나니...

그러나 아직도 나는 모르겠닼ㅋㅋㅋㅋㅋㅋ 그래도 화이팅


자주 사용되는 기본적인 JavaScript의 배열 메서드를 직접 구현하며 원리를 이해한다.


_.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

노션 정리 링크!!

요즘은 노션에 정리하는 일이 많은거 같다 

728x90
반응형

관련글 더보기