본문 바로가기
728x90
반응형

프로그래밍 언어/JS34

JavaScript) 함수형과 절차형 프로그래밍 절차형 프로그래밍 어떻게 할 것인가 절차형 프로그래밍은 대표적으로 C언어가 있으며, 어떤 과정을 통해 결과를 가져올 것인가에 중점을 둔다 // 배열의 각 요소에 2를 곱하여 반환 function double(arr){ let result = []; for(var i=0; i arr.map(e=>e*2) 2022. 3. 22.
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.
728x90
반응형