일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- await
- 변수
- 콜백함수
- expo
- trim
- 함수
- vuejs
- arguments
- 유사배열객체
- async
- Promise
- 카카오
- 플러스친구
- 오픈채팅
- 자바스크립트
- callbackhell
- callback
- 순수함수
- es6
- es7
- 자연어처리
- ReactNative
- 오픈빌더
- 배열
- closure
- 객체
- 챗봇
- 카카오톡채널
- JavaScript
- developers
- Today
- Total
목록JavaScript/함수형 프로그래밍 (6)
말랑말랑 LAB
_each 의 외부 다형성 높이기 1. _each에 null 넣어도 에러 안나게 현재 정의한 _each 함수에서 첫번째 인자로 null을 넣으면 에러 발생 !_each 함수 내부에서 list의 length 속성을 참조하고자 할 때, list가 null이기 때문에 에러 발생에러가 나지 않도록 처리해보자 !배열 length (list.length) 에 undefined 가 들어가면 에러는 나지 않고, for문의 조건식 평가 결과가 false이기 때문에 바로 빠져나오게 됨length를 참조하는 방식을 _get함수를 통해서 참조하게 만들기만 해도 에러가 나지 않게 된다 !_get 함수는 인자 값이 null 일 경우 undefined를 리턴하는 처리를 해주고 있기 때문 _each 함수를 사용하고 있는 _map, ..
자바스크립트 pipe 함수, go 함수 o pipe 함수란? 함수들을 인자로 받아서, 이 함수들을 연속적으로 실행해주는 함수를 리턴하는 함수(인자로) 들어온 함수들을 연속 실행할 준비가 된 함수를 리턴하는 함수reduce 함수를 통해서 만들 수 있음o 코드_reduce 함수 활용하여 인자로 받은 3개의 함수를 차례대로 실행하는 함수를 리턴 o go 함수란? 인자를 받아 결과를 바로 만드는 함수_pipe 함수의 즉시 실행 버전_rest 함수 활용하여 함수 배열에서 첫번째 argument 제외 후 _pipe 함수 실행
Reduce 함수 o Reduce 함수?연속적으로 함수를 호출하여 실행 결과를 만들어주는 함수_reduce(list, iter, memo)@param list - 객체@param iter - 실행 함수@param memo - 시작값(memo값부터 시작하여) 모든 데이터들을 이 함수를 통해 축약시켜서 원하는 새로운 결과(자료)를 만들 때 사용o 코드모든 데이터를 순회하면서 iter 함수를 실행하고, 그 결과를 memo에 계속 덮어씀 memo 파라미터가 없는 경우 대비argument 가 2개일 때 --> list의 첫번째 값을 memo로 설정slice() 메서드로 (memo로 설정된) list의 첫번째 값 제외 그러나, list가 array가 아닌 array-like 객체라면 --> slice 메서드가 동작..
커링, Curry, Curryr o 커링이란?함수와 인자를 다루는 기법함수에 인자를 하나씩 적용해 나가다가 필요한 인자가 모두 채워지면 함수 본체를 실행하는 기법미리 받아두었던 함수의 본체를 내부에서 평가하는 함수 add 함수 예제
자바스크립트의 일급 함수 o 일급 함수란?함수를 값으로 다룰 수 있는 개념o 주요 특징 1) 함수를 변수에 담을 수 있다 2) 함수를 인자로 받을 수 있다 o add_maker 예제 함수를 리턴하는 함수add_maker 함수뿐 아니라 리턴하는 익명함수에서도 인자값을 받아 더한 값을 리턴한다- add_maker 사용 예제add10 변수에 add_maker 함수가 리턴하는 익명함수가 들어간다이 때, 이 익명함수는 클로저 이며 순수 함수!!a 변수의 scope 안에서 이 익명함수가 a 값을 참조하고 있으므로, a 값을 기억하고 있는 클로저가 된다함수 내에서 a 값을 참조만 하고 있을뿐, 원래의 값을 변경하지 않으므로 순수 함수이다add_maker 함수의 인자 값(10)과 add10 즉, 익명함수의 인자값(20..
자바스크립트의 순수 함수 - 순수 함수란?언제 실행해도 항상 동일한 결과를 리턴평가 시점이 중요하지 않다 --> 즉, 평가 시점을 개발자가 다룰 수 있다조합성을 강조할 수 있다 --> 함수를 다른 함수의 인자로 넘기거나, 서로 다른 스레드나 공간에서 함수를 평가시켜도 항상 동일한 결과를 반환하기 때문에 안전하고 다루기 쉬운 함수가 된다평가 시점을 다루는 것을 통해 다양한 로직을 만들기 위함 - 순수함수가 아닌 함수평가 시점이 중요평가 시점에 따라 로직이 정해지고 결과값이 달라진다아래 예제를 보면 c 값이 변경되는 시점에 따라 함수 실행 결과가 달라짐을 알 수 있다 부수 효과가 있는 함수는 순수함수가 아니다외부 상태에 영향을 미치므로 인자로 들어온 값의 상태를 직접 변경하는 함수 또한 순수함수가 아니다 그..