함수형 프로그래밍과 JavaScript ES6+
함수형 프로그래밍과 JavaScript ES6+
수강정보
(65개의 수강평)
1431명의 수강생
kh 프로필

sort 질문입니다 kh 19일 전
과정에는 없지만, 나이 또는 이름순으로 오름차순/내림차순으로 정렬하고 싶은경우 코드를 어떻게 풀어가야 할지 질문드립니다.

2
ambacc244 프로필

Array map 관련 질문 ambacc244 23일 전
강의를 들으면서 강의 내용을 사용해 보고 싶어서 JS를 사용해서 알고리즘 문제를 가끔 풀어보는데 의문이 생겨 질문 남깁니다.  let n = 9; let graph = Array(n).fill(Array(n).fill(0))); 위처럼 정의했을 경우 graph[0][1] = 1을 하면 graph[0 ~ 9][1] 모든 값이 1로 바뀝니다.  하지만  let graph = Array(n).fill(0).map(e => Array(n).fill(0)); 로 정의하였을때는 graph[0][1] = 1을 하면 graph[0][1] 값만 1로 바뀝니다.  혹시 그 이유를 알수 있을까요? 제가 나름 인터넷에 찾아봤는데 정확한 이유를 찾지못하여 답답해 하던중 질문 남깁니다. 

1
만금 프로필

강의 내용 정리 만금 2달 전
안녕하세요 좋은 강의 감사드립니다. 강의를 듣고 개인적으로 정리한 내용을 깃헙이나 블로그에 올려도 괜찮을까요??

1
꽃갈피 프로필

제너레이터와 관련된 질문입니다. 꽃갈피 3달 전
안녕하세요 :) 공부를 하던 와중에 제너레이터 * 위치에 관련하여 궁금한 점이 생겨서 질문을 드립니다. 강좌에서는 function *gen( ) { ... } 으로 함수 이름 앞에 *를 붙이셨는데 공식문서에서는 function* gen( ) { ... } 으로 function 뒤에 * 를 붙여서 표현했더라구요. 코드 실행은 둘 다 잘 되지만 *(별표) 위치가 함수 이름 앞에 붙이든, function 뒤에 붙이든 상관이 없는 것인지 궁금하여 질문을 남깁니다.

1
devsn 프로필

안녕하세요 변수 설정 관련 질문드립니다 devsn 3달 전
안녕하세요 map filter reduce 강의 를 듣는 중에 궁금한 점이 생겨 질문드립니다 let test =  ...filter( (p) => p.price < 20000, products) ) 이렇게는 값 할당이 불가능한가요? 그냥 log안에 test의 값을 넣어주면 콘솔에는 잘 찍힙니다.  변수에 담아서 활용해 보고 싶었는데, 담기지가 않네요 이에 대한 설명을 들을 수 있을까요?

2
성현제 프로필

사용자정의 이터러블 질문입니다! 성현제 4달 전
const iterable = { [Symbol.iterator]() { let i = 3; return { next() { return i == 0 ? {done: true} : {value: i--, done: false}; }, [Symbol.iterator]() { return this; } } } }; 이터레이터 안에서 this로 반환하는 이유가뭘까요! 없어도 상태참고가 잘됩니다!

1
oct_sky_out 프로필

product가 사라지는 이유는 이건가요? oct_sky_out 4달 전
const go = (...args) => reduce((a, f) => f(a), args);  go(         product,         filter(p => p.price >= 20000),         map(p => p.price),        reduce(add),         console.log    ); 모든함수에 curry를 적용하고 나서 go 함수안에 reduce의 영향때문에 굳이 모두 product나 price를 사용하지 않아도 되는지 궁금합니다.

3
dls9625 프로필

reduce 효울성 차이 질문 dls9625 4달 전
강의에서 본것처럼 const reduce2 = (f,acc,iter) => {              if(!iter){         iter = acc[Symbol.iterator]();         acc = iter.next().value;       }       for(const a of iter){         acc = f(acc,a);       }       return acc    } 아래와 같이 이용해서 test('range',10,() => reduce2(add,range(10000000))); test('Lrange',10,() => reduce2(add,L.range(10000000))); 이 코드를 실행했을떄는 L.range가 성능이 빠른것을 확인했습니다. 비슷하게 아래와 같이 코드 작성후 성능 확인을 했을경우 range함수가 L.range함수보다 빠르게 나오는 이유가 궁금합니다. test('range',10,() => [...range(1000000)].reduce(add)); test('Lrange',10,() => [...L.range(1000000)].reduce(add));

1
boutime2017 프로필

이터레이터를 배열에 담는 의미? boutime2017 4달 전
병렬 평가를 할 때 이터러블/이터레이터를 전개 연산자로 풀어서 배열 안에 담아 reduce함수에 전달해주던데요, 이렇게 했을 때 무슨 원리로 병렬 평가가 되는 건지 모르겠습니다 ㅠㅠ 배열도 결국 next()로 순회하는 이터레이터의 한 종류 아닌가요...? 저렇게 했을 때 Promise.all을 해주는 효과가 나나요?

3
toby0806 프로필

Symbol 사용 이유 toby0806 4달 전
안녕하세요. Symbol 사용 이유가 궁금해서 질문을 남기게 되었습니다. const nop = Symbol("nop") 대신으로, const nop = "nop";을 사용해도 정상 작동하는걸 확인했는데요, 1.혹시 Symbol("nop")을 사용하신 특별한 이유가 있을까요? 2.추가적으로 Symbol을 검색해도 명확히 설명 된 글을 찾지 못했습니다ㅠ. Symbol에 대해서 간단히 알려주실 수 있을까요?

2
GD 프로필

for 와 while 동작 차이 GD 5달 전
const reduce = curry((f, acc, iter) => { const head = iter => go1(take(1, iter), ([h]) => h); if (!iter) return reduce(f, head(iter = acc[Symbol.iterator]()), iter); iter = iter[Symbol.iterator](); return go1(acc, function recur(acc) { // WARN: 여기선 for 문을 쓰면 안됨 for (let a of iter) { // Promise 확인용 함수 reduceF 를 이용 acc = reduceF(acc, a, f); if (acc instanceof Promise) return acc.then(recur); } return acc; }); }) 여기서 for 와 while 의 동작 차이가 발생합니다.기존 recur 함수 안의 while 문을 for 로 대체하였을때 두번째 recur 실행 부터 iterator 가 정상적으로 실행되지 않고 종료가 되버립니다.이는 Promise 로 변경하였을때만 발생하였습니다. go([1, 2, 3, 4, 5, 6], L.map(a => a * a), L.filter(a => a % 2), reduce(add), console.log ) // 정상 동작 혹시여기서 for 와 while 의 차이가 발생하는 이유를 설명해주실 수 있을까요?

1
띵호 프로필

SCRIPT에서 HTML TAG 생성 띵호 5달 전
안녕하세요. 마크업된 HTML TAG를 SCRIPT로 제어한다고만 생각해보았지 SCRIPT에서 만들어서 그려주는건 사실 잘 안쓰는줄 알았는데,  설명하기 위해서 이방법을 쓰신건가요? 아니면 실무에서도 사용하는지 궁금합니다.

3
Darcie 프로필

강의랑 똑같이 콘솔 띄우는 방법 Darcie 5달 전
콘솔창을 어떻게 띄우냐는 질문들이 몇개 있어서 적어봅니다! 1. 예제 코드를 다운받습니다. 2. 크롬에서 이번 강의에 해당하는 html파일을 엽니다. 3. 크롬 개발자 도구를 엽니다. 4. 개발자도구를 새 창으로 띄웁니다. 4-1. [아래사진참고] 개발자 도구를 켜서 점 세개 메뉴를 클릭하면 창 배치를 고를 수 있습니다. 가장 왼쪽의 작은 네모 두개가 겹쳐져 있는 아이콘을 클릭합니다. 5. 에디터에서 해당 html파일을 열고, 개발자도구와 화면 분할하여 한 화면에 띄웁니다. 6. 에디터에서 수정한 것을 저장하고, 콘솔창에서 새로고침(단축키: 맥에서 Cmd+R) 하면 강의처럼 작성한 내용이 바로 콘솔창에 반영됩니다.

2
김상규 프로필

자바스크립트 기본서 추천 문의 김상규 5달 전
자바스크립트를 기본부터 제대로 공부하고 싶은데요. 꼭 봤으면 하는 자바스크립트 기본도서 있을까요? 추천 좀 부탁 드립니다. 감사합니다 ^^

1
toby0806 프로필

강의 선수과목 toby0806 6달 전
안녕하세요. 해당 강의를 듣기 전에 "자바스크립트로 알아보는 함수형 프로그래밍"은 선수과목 인가요??

2
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스