인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
BEST
개발 · 프로그래밍

/

프로그래밍 언어

함수형 프로그래밍과 JavaScript ES6+ 응용편

이 강좌는 함수형 프로그래밍과 JavaScript ES6+의 시리즈 강좌로 다양한 응용 사례를 다룹니다.

(4.9) 수강평 111개

수강생 3,247명

Thumbnail

중급자를 위해 준비한
[웹 개발, 프로그래밍 언어] 강의입니다.

이런 걸
배워요!

  • 함수형 프로그래밍

  • 이터러블 프로그래밍

  • 동시성 프로그래밍

  • 프론트엔드에서 함수형 프로그래밍 응용하기

  • 백엔드에서 함수형 프로그래밍 응용하기

생산성을 높이는 함수형 코드 작성!
이터러블 프로그래밍을 응용해요 👊

무엇을 배우나요? 📖

자바스크립트는 ES6+가 되면서 언어에서 이터러블 프로토콜을 특별히 강조하고 있습니다. 이터러블 프로그래밍을 통해 명령형 코드를 대체합니다. 심볼/이터러블/이터레이터/제너레이터, Promise/async/await 등의 프로토콜이 강조되고 있습니다. 이후 버전에서도 async/await/for...await-of/Async Iterator 등으로 프로토콜이 발전하고 있습니다.

이 강의는 '함수형 프로그래밍과 JavaScript ES6+'의 후속 강의로 함수형 프로그래밍, 이터러블 프로그래밍을 다양하게 응용합니다. 이 강의를 들으면 에러가 나기 쉬운 i++, j++, if, for, break 등의 명령형 코드를 더이상 작성하지 않을 수 있습니다. 에러율이 적으며, 생산성이 높고, 아름다운 표현력을 가진 함수형 코드를 작성해보세요!




자바스크립트에서의 이터러블 프로그래밍의 장점 💡

  • 언어 차원에서 지원하는 프로토콜을 통해 만들어지는 코드이기에 조합성이 높습니다.
  • 언어 차원에서 지원하는 에러 핸들링을 사용할 수 있습니다.
  • 비동기/동시성 프로그래밍을 보다 안전하고 쉽게 할 수 있습니다.
  • 코드 양을 최소화할 수 있습니다(트랜스파일링을 하면서도 변환되는 코드의 양을 최소화할 수 있는 아이디어도 가지고 있습니다).

 ES5 문법 프로그래밍의 불편함 🥲

  • i++, j++, if, for, break, 상태 변경에 의존한 코드는 버그가 생기기 쉽습니다.
  • 기능 발전, 기획 변경에 대응하다보면 버그가 발생되기 쉬워 유지보수가 어렵습니다.
  • 개발자마다 선호하는 코드 스타일이 다르고, 서로의 코드를 해석하기 어렵습니다.
  • 항상 로직을 새로 작성해야하고, 그에 따른 테스트 케이스도 많아져 생산성이 떨어집니다.

지식공유자 한마디 😀

2008년도 쯤 부터 리습, 이터러블, 리액티브 등을 기반으로한 클로저, 엘릭서, 스칼라와 같은 다양한 함수형 언어들이 생겨나고, 다른 언어들에서는 많은 관련 라이브러리들이 생겨나더니, 최근에 이르러서는 현업에서 가장 많이 사용되는 자바, 스위프트, 코틀린, 자바스크립트 등에 람다가 적용되고, 스트림 혹은 이터러블이라는 이름으로 언어 자체에 LISP 혹은 FP가 도입되었습니다. 더 다양한 상황에서 함수형 프로그래밍이나 이터러블 프로그래밍이 필요하다는 인식이 퍼지고 있고, 이러한 기술들이 실무에서 자연스럽게 사용되고 있습니다.

함수형/이터러블 프로그래밍이 모든 언어에 적용되고 있는 것은 실제적인 가치 때문입니다. 이터러블 프로그래밍은 문제를 작게 만들고 조합성을 높이는데 좋은 도구입니다. 이제는 거의 대부분의 언어에 적용되면서 이 방법은 탈 언어적인 해결책이 되었습니다.

특히 자바스크립트는 이터러블/이터레이터/제너레이터/심볼 등을 기반으로 매우 뛰어난 프로토콜을 가지고 있습니다. 이러한 프로토콜은 개발자로 하여금 언어를 다루라고 이야기하고 있습니다. ES6+의 진짜 매력은 이 '이터러블 프로토콜'이라고 생각합니다. 이터러블 프로그래밍은 생산성을 높이고, 오류율을 줄이고, 유지보수가 용이한 코드를 작성할 수 있게 하는 아주 훌륭한 도구입니다.


예제 코드 📜


관련 강의 🧑‍🏫

함수형 프로그래밍과 javascript ES6+
ES6+의 이터러블/이터레이터/제너레이터/동시성 프로그래밍에 대해 상세히 다룹니다. 
함수형/이터러블 프로그래밍에 대해 익숙하지 않다면 이 강의를 먼저 들어주세요!
 
 
 
 
 
 
 

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 함수형 프로그래밍을 배우고 싶은 분

  • 이터러블 프로그래밍 응용법을 알고 싶은 분

  • 함수형/이터러블/동시성 실제 사용 사례가 궁금한 분

  • 간결하고 우아한 코드를 작성하고 싶은 분

  • JS 개발자로서 한 단계 도약하고 싶은 분

선수 지식,
필요할까요?

  • 함수형 프로그래밍과 JavaScript ES6+ 인프런 강의

  • ES6+ 기본 문법

  • 이터러블/이터레이터/제너레이터

안녕하세요
유인동입니다.

수강생 수

22,921

수강평 수

718

강의 평점

4.9

강의 수

6

커리큘럼

전체

48개 ∙ (6시간 2분)

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!