{"id":13607167,"url":"https://github.com/Functional-JavaScript/FunctionalES","last_synced_at":"2025-04-12T11:31:41.798Z","repository":{"id":50746191,"uuid":"125893405","full_name":"Functional-JavaScript/FunctionalES","owner":"Functional-JavaScript","description":" ES6+, 함수형 프로그래밍, 비동기, 동시성 프로그래밍","archived":false,"fork":false,"pushed_at":"2019-07-05T16:03:33.000Z","size":120,"stargazers_count":310,"open_issues_count":0,"forks_count":44,"subscribers_count":36,"default_branch":"master","last_synced_at":"2024-08-01T19:44:04.732Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Functional-JavaScript.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-19T17:10:28.000Z","updated_at":"2024-07-15T15:19:29.000Z","dependencies_parsed_at":"2022-09-24T19:04:25.084Z","dependency_job_id":null,"html_url":"https://github.com/Functional-JavaScript/FunctionalES","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Functional-JavaScript%2FFunctionalES","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Functional-JavaScript%2FFunctionalES/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Functional-JavaScript%2FFunctionalES/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Functional-JavaScript%2FFunctionalES/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Functional-JavaScript","download_url":"https://codeload.github.com/Functional-JavaScript/FunctionalES/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223513961,"owners_count":17158098,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T19:01:16.125Z","updated_at":"2025-04-12T11:31:41.792Z","avatar_url":"https://github.com/Functional-JavaScript.png","language":"HTML","funding_links":[],"categories":["HTML"],"sub_categories":[],"readme":"# FunctionalES\n\n## ES6+, 함수형 프로그래밍, 비동기, 동시성 프로그래밍\n\n[소스코드 보기](https://github.com/Functional-JavaScript/functional.es/tree/master/articles/ES6%2C%20%ED%95%A8%EC%88%98%ED%98%95%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%2C%20%EB%B9%84%EB%8F%99%EA%B8%B0%2C%20%EB%8F%99%EC%8B%9C%EC%84%B1%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/html)\n\n#### 목차\n\n0. [들어가며](https://github.com/Functional-JavaScript/functional.es/blob/master/articles/ES6%2C%20%ED%95%A8%EC%88%98%ED%98%95%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%2C%20%EB%B9%84%EB%8F%99%EA%B8%B0%2C%20%EB%8F%99%EC%8B%9C%EC%84%B1%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/0.%20%EB%93%A4%EC%96%B4%EA%B0%80%EB%A9%B0.md)\n    - ES6, 함수형 프로그래밍, 비동기/동시성 프로그래밍\n    - ES6+\n    - 함수형 프로그래밍\n    - 비동기/동시성 프로그래밍\n1. [타입과 값](https://github.com/Functional-JavaScript/functional.es/blob/master/articles/ES6%2C%20%ED%95%A8%EC%88%98%ED%98%95%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%2C%20%EB%B9%84%EB%8F%99%EA%B8%B0%2C%20%EB%8F%99%EC%8B%9C%EC%84%B1%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/1.%20%ED%83%80%EC%9E%85%EA%B3%BC%20%EA%B0%92.md)\n    - 7가지 내장 타입으로 바라보기\n    - 자바스크립트에서의 객체\n    - JSON 데이터 타입\n    - Iterable, Iterator\n    - Symbol.iterator\n    - Promise\n2. [함수형 프로그래밍 관점에서 바라본 자바스크립트의 값](https://github.com/Functional-JavaScript/functional.es/blob/master/articles/ES6%2C%20%ED%95%A8%EC%88%98%ED%98%95%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%2C%20%EB%B9%84%EB%8F%99%EA%B8%B0%2C%20%EB%8F%99%EC%8B%9C%EC%84%B1%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/2.%20%ED%95%A8%EC%88%98%ED%98%95%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%20%EA%B4%80%EC%A0%90%EC%97%90%EC%84%9C%20%EB%B0%94%EB%9D%BC%EB%B3%B8%20%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%9D%98%20%EA%B0%92.md)\n    - 자바스크립트에서의 함수형 프로그래밍을 위한 타입과 값\n    - JSON 데이터 타입\n    - undefined\n    - 열거 가능한 값, 컬렉션\n    - 컬렉션 순회\n    - 불변성\n    - 함수와 화살표 함수\n    - Promise\n3. [컬렉션 중심 프로그래밍](https://github.com/Functional-JavaScript/functional.es/blob/master/articles/ES6%2C%20%ED%95%A8%EC%88%98%ED%98%95%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%2C%20%EB%B9%84%EB%8F%99%EA%B8%B0%2C%20%EB%8F%99%EC%8B%9C%EC%84%B1%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/3.%20%EC%BB%AC%EB%A0%89%EC%85%98%20%EC%A4%91%EC%8B%AC%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D.md)\n    - 컬렉션\n    - 3개의 대표 함수 map, reduce, findVal\n    - map 함수\n    - reduce 함수\n    - findVal 함수\n4. [코드를 컬렉션으로 다루기](https://github.com/Functional-JavaScript/functional.es/blob/master/articles/ES6%2C%20%ED%95%A8%EC%88%98%ED%98%95%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%2C%20%EB%B9%84%EB%8F%99%EA%B8%B0%2C%20%EB%8F%99%EC%8B%9C%EC%84%B1%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/4.%20%EC%BD%94%EB%93%9C%EB%A5%BC%20%EC%BB%AC%EB%A0%89%EC%85%98%EC%9C%BC%EB%A1%9C%20%EB%8B%A4%EB%A3%A8%EA%B8%B0.md)\n    - pipe, go\n    - match\n    - 함수를 값으로 다루면서 원하는 시점에 평가하기\n    - or, and\n5. [비동기, 동시성, 병렬성 프로그래밍](https://github.com/Functional-JavaScript/functional.es/blob/master/articles/ES6%2C%20%ED%95%A8%EC%88%98%ED%98%95%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%2C%20%EB%B9%84%EB%8F%99%EA%B8%B0%2C%20%EB%8F%99%EC%8B%9C%EC%84%B1%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/5.%20%EB%B9%84%EB%8F%99%EA%B8%B0%2C%20%EB%8F%99%EC%8B%9C%EC%84%B1%2C%20%EB%B3%91%EB%A0%AC%EC%84%B1%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D.md)\n    - 들어가기 앞서 Promise, async/await에 대해\n    - Promise는 콜백 지옥을 해결한 것일까?\n    - promise.then(f)의 규칙\n    - Promise 체인\n    - then :: Promise p =\u003e (a -\u003e b | p b) -\u003e a | p a -\u003e b | p b\n    - then에 커링 적용하기\n    - 파이프라인\n    - 이미지 동시에 모두 불러온 후 DOM에 반영하기\n    - mapC와 limit\n    - 쇼트트랙 계주 - 순서대로 실행하기\n    - 동시적으로 혹은 순차적으로\n    - async/await는 은총알인가?\n    - 병렬적으로 동작할 수 없는 async/await\n    - 더 많은 함수들\n6. [예외 처리](https://github.com/Functional-JavaScript/functional.es/blob/master/articles/ES6%2C%20%ED%95%A8%EC%88%98%ED%98%95%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%2C%20%EB%B9%84%EB%8F%99%EA%B8%B0%2C%20%EB%8F%99%EC%8B%9C%EC%84%B1%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/6.%20%EC%98%88%EC%99%B8%20%EC%B2%98%EB%A6%AC.md)\n    - ES6+의 3가지 예외\n    - pipe().nullable()\n    - pipe().error()\n    - pipe().exception() ()\n    - 여러가지 달기\n    - pipe().error().complete()\n    - 다른 컬렉션 조작 함수들과의 조합\n    - 비동기를 지원하지 않는 함수에서 발생한 예외 처리 실패\n    - 동기/비동기를 함께 지원하는 함수의 필요성\n    - 정리\n\n- [부록. 클래스 없이 코딩하기](https://github.com/Functional-JavaScript/functional.es/blob/master/articles/ES6%2C%20%ED%95%A8%EC%88%98%ED%98%95%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%2C%20%EB%B9%84%EB%8F%99%EA%B8%B0%2C%20%EB%8F%99%EC%8B%9C%EC%84%B1%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/%EB%B6%80%EB%A1%9D.%20%ED%81%B4%EB%9E%98%EC%8A%A4%20%EC%97%86%EC%9D%B4%20%EC%BD%94%EB%94%A9%ED%95%98%EA%B8%B0.md)\n    - 나머지 매개변수와 전개 연산자, 그리고 부분 적용\n    - 장바구니\n    - 정리\n\n- [부록. 깊은 값 조회](https://github.com/Functional-JavaScript/FunctionalES/blob/master/articles/ES6%2C%20%ED%95%A8%EC%88%98%ED%98%95%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%2C%20%EB%B9%84%EB%8F%99%EA%B8%B0%2C%20%EB%8F%99%EC%8B%9C%EC%84%B1%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/%EB%B6%80%EB%A1%9D.%20%EA%B9%8A%EC%9D%80%20%EA%B0%92%20%EC%A1%B0%ED%9A%8C.md)\n    - 복잡한 값을 조회할 때 중간에 nullable을 만나도 에러 피하기\n    - key를 알 수 없을 때, {} # function object로 조회하기\n\n- [부록. 메모이제이션]\n    - 예정\n\n- [부록. 튜플]\n    - 예정\n\n- [부록. 템플릿 리터럴]\n    - 예정\n\n- [...]\n    - 예정\n\n- [...]\n    - 예정\n\n- [부록. 질문 답변](https://github.com/Functional-JavaScript/functional.es/blob/master/articles/ES6%2C%20%ED%95%A8%EC%88%98%ED%98%95%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%2C%20%EB%B9%84%EB%8F%99%EA%B8%B0%2C%20%EB%8F%99%EC%8B%9C%EC%84%B1%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/%EB%B6%80%EB%A1%9D.%20%EC%A7%88%EB%AC%B8%20%EB%8B%B5%EB%B3%80.md)\n    - 이슈에 올라오거나 개인적으로 오는 질문 계속 추가할 예정입니다.\n\n- [API](https://github.com/Functional-JavaScript/FunctionalES/blob/master/articles/ES6%2C%20%ED%95%A8%EC%88%98%ED%98%95%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%2C%20%EB%B9%84%EB%8F%99%EA%B8%B0%2C%20%EB%8F%99%EC%8B%9C%EC%84%B1%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/API.md)\n    - 진행 중\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFunctional-JavaScript%2FFunctionalES","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFunctional-JavaScript%2FFunctionalES","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFunctional-JavaScript%2FFunctionalES/lists"}