본문 바로가기
728x90
반응형

프로그래밍 언어115

JavaScipt) 클로저 클로저 함수가 선언된 환경의 조합 클로저를 이해하려면 변수의 유호범위(lexical scoping)을 먼저 이해해야 함 function makeFunc() { var name = "Mozilla"; function displayName() { alert(name); } return displayName; } var myFunc = makeFunc(); //myFunc변수에 displayName을 리턴함 //유효범위의 어휘적 환경을 유지 myFunc(); //리턴된 displayName 함수를 실행(name 변수에 접근) displayName()함수가 실행되기 전에 외부함수인 makeFunc()로부터 리턴되어 myFunc 변수에 저장된다 몇몇 프로그래밍 언어에서, 함수 안의 지역 변수들은 그 함수가 처리되.. 2022. 3. 18.
JavaScript) 커링(currying)과 렉시컬 환경 커링 여러 인수를 갖는 함수를 단일 인수의 함수열로 바꾸는 것 함수형 프로그래밍을 사용하는 이유와 같이 부수 효과를 최소화 하고 동일한 입력 시 동일 출력을 나오게 하여 가독성과 유지보수를 용이하게 하기 위해 사용 일반적 커링 예시 // 커링 변환을 하는 curry(f) 함수 (일반 함수 ver) function curry(f) { return function(a) { return function(b) { return f(a, b); }; }; } // 커링 변환을 하는 curry(f) 함수 (화살표 함수 ver) const curry = f => a => b => f(a, b); // f에 전달된 함수 const sum = (a, b) => a + b; const curriedSum = curry(su.. 2022. 3. 16.
JavaScript) MapReduce Model MapReduce Model map 이란 key와 value를 가진 자료구조 reduce는 자료구조를 정리해나가는 방법으로 reduce() 함수와 같이 값을 응축하는 방식 같다 서로 다른 자료에서 같은 key 값을 갖는 value를 reducing하는 것 word count가 가장 쉬운 예라고 한다 2022. 3. 16.
JavaScript) 내장 배열 고차함수 내장 배열 고차함수의 종류 filter() forEach() find() map() reduce() sort() some() every filter() 배열 함수로써 인자로 boolean을 반환하는 콜백 함수를 받아, 배열의 각 요소 중 true에 해당하는 값만 걸러 새로운 배열 반환 map() 배열의 각 요소를 인자로 받은 콜백 함수의 논리로 변환하여 새로운 배열 반환 reduce() 배열의 각 요소를 인자로 받은 콜백 함수의 논리를 통해 하나의 값을 반환 (응축) 누적 합 등을 구할 대 사용, 배열 내부 요소를 하나의 문자열로 합치는 등 2022. 3. 15.
728x90
반응형