Home
About
Blog
Products
Forum
Support
Contact
Sunbelt Computer Software
PL/B Language Development and Support
Home
About
Blog
Products
Forum
Support
Contact
Home · indongyoo/functional-javascript Wiki · GitHub
Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
indongyoo
/
functional-javascript
Public
Notifications
You must be signed in to change notification settings
Fork
153
Star
279
Code
Issues
0
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Home
Jump to bottom
Cojamm edited this page
Nov 19, 2017
·
11 revisions
프로그래밍 인사이트
함수형 자바스크립트 프로그래밍
목차
함수형 자바스크립트 소개 (미리보기)
함수형 자바스크립트 그거 먹는 건가요? (미리보기)
함수형 자바스크립트를 검색하면 나오는 예제
값으로써의 함수와 클로저
함수형 자바스크립트의 실용성 (미리보기)
회원 목록 중 여러 명 찾기
for에서 filter로, if에서 predicate로
함수형 프로그래밍 관점으로 filter 보기
map 함수
실행 결과로 바로 실행하기
함수를 값으로 다룬 예제의 실용성
함수형 자바스크립트의 실용성 2 (미리보기)
회원 목록 중 한 명 찾기
값에서 함수로
함수를 만드는 함수와 find, filter 조합하기
고차 함수
function identity(v) { return v; }, 이건 어디다 쓰는 거지?
연산자 대신 함수로
함수 합성
함수형 자바스크립트를 위한 기초 (미리보기)
일급 함수
클로저
클로저의 실용 사례
클로저를 많이 사용하라!
고차 함수
콜백 함수라 잘못 불리는 보조 함수
함수를 리턴하는 함수와 부분 적용
정리
함수형 자바스크립트를 위한 문법 다시보기
객체와 대괄호 다시 보기
난해해 보이는 문법들을 확인하는 목적
객체와 key
함수나 배열에 달기
delete
코드가 실행될 수 있는 영역
함수 정의 다시 보기
기본 정의
호이스팅
호이스팅 활용하기
괄호 없이 즉시 실행하기
new Function이나 eval을 써도 될까요?
간단 버전 문자열 화살표 함수와 new Function 성능
유명(named) 함수
유명 함수를 이용한 재귀
자바스크립트에서 재귀의 아쉬움
함수 실행과 인자 그리고 점 다시보기
() 다시 보기
인자 다시 보기
this 다시 보기
call, apply 다시 보기
call의 실용적 사례
if else || && 삼항 연산자 다시 보기
if의 괄호
|| &&
삼항 연산자
함수 실행의 괄호
함수 실행을 통해 생기는 새로운 공간
기본적인 비동기 상황
함수 실행 괄호의 마법과 비동기
비동기와 재귀
화살표 함수
익명 함수와의 문법 비교
익명 함수와의 기능 비교
화살표 함수의 실용 사례
화살표 함수 재귀
정리
Underscore.js를 직접 만들며 함수형 자바스크립트의 뼈대 익히기
Underscore.js 소개 (미리보기)
Underscore.js 간단히 써보기
Underscore.js vs Lodash
지연 평가 1 (take)
지연 평가 2 (map->map->map)
지연 실행
함수형 프로그래밍 관점에서의 each
지원 환경, 용량, 추가 기능 비교
Underscore.js와 Lodash 비교 정리
Underscore.js를 만드는 이유
_.map과 _.each 구현하기
ArrayLike와 Underscore.js의 콘셉트
_.map 만들기
쓸모 없어 보이는 함수 사용하기
_.each 만들기
함수로 함수 만들기, bloop
Object.keys
bloop 개선하기
중간 정리
_.filter, _.reject, _.find, _.some, _.every 만들기
_.filter 만들기
bloop로 _.filter 만들기
_.rest, _.toArray, _.reverse, _.if
익명 함수 없이 bloop로 _.filter 만들기
_.reject 만들기
_.find, _.some, _.every를 만들기 위해 bloop 고치기
_.find 만들기
_.findIndex, _.findKey 만들기
_.some, _.every 만들기
함수형 프로그래밍에서 함수는 ‘로직’이다!
_.reduce 만들기
_.reduce 소개
_.reduce의 용도
_.reduce로 회원 데이터 집계하기
_.reduce 만들기
bloop 반으로 줄이기
좀 더 발전시키기
_.filter 중간에 나가기
코드 양과 성능
함수 조립하기 (미리보기)
고차 함수와 보조 함수 (미리보기)
한 번만 실행하는 함수
다시 물어 보지 않는 함수
앞서 받은 인자 혹은 상황을 변경해 나가는 경우
앞서 받은 인자를 잘 유지해야 하는 경우
부분 적용 (미리보기)
_.partial로 함수 만들기
_.partial과 _.compose로 함수 만들기
더 나은 _.partial 함수
연속적인 함수 실행 (미리보기)
체인의 아쉬운 점
_.compose의 아쉬운 점
파이프라인
클래스를 대신하는 파이프라인
더 나은 파이프라인, 그리고 Multiple Results
더 나은 함수 조립 (미리보기)
함수 조립과 Partial.js
Partial.js의 _.pipe
즉시 실행 파이프라인 _.go
문자열 화살표 함수
Partial.js의 _.partial
Partial.js의 부분 커링
Partial.js와 함수 조립 (미리보기)
파이프라인 (미리보기)
네임스페이스
즉시 실행 파이프라인, _.go와 _.mr
함수를 만드는 파이프라인 _.pipe
부분 커링 함수와의 조합
보조 함수로 사용하는 파이프라인
비동기와 _.go
중간에 멈추고 나가기
비동기 (미리보기)
코드 변경 없이 비동기 제어가 되는 고차 함수
비동기 결과를 기다리는 if문, _.if
고차 함수
주요 고차 함수의 보조 함수에서 더 많은 인자 사용하기
_.all, _.spread
파이프라인2
_.go에서 this 사용
또 다른 파이프라인, _.indent
_, __, ___
무조건 비동기로 동작하는 _.async
_.go에서 비동기 제어 건너뛰기
템플릿 함수
함수 스타일의 템플릿 함수
Jade(Pug) 스타일 문법 지원
데이터 치환
일반 HTML 전용 _.string
인자 여러 개 받기
escape
코드 실행
_.sum
비동기 제어
지연 평가와 컬렉션 중심 프로그래밍
지연 평가
Lodash의 체인 방식 지연 평가가 아쉬운 이유
지연 평가 결정의 기준과 L
컬렉션 중심 프로그래밍
수집하기와 거르기
접기
찾아내기
3가지 유형(수집하기, 거르기, 찾아내기)과 지연 평가와의 연관성
더 나은 지연 평가
지연 평가의 동작 조건을 동적으로 하기
Partial.js
값에 대해
순수 함수
순수 함수와 부수 효과
순수 함수와 순수 함수가 아닌 함수
변경 최소화와 불변 객체
직접 변경하는 대신, 변경된 새로운 값을 만드는 전략: _.sortBy, _.reject, _.pluck, _.initial, _.without
_.clone으로 복사하기
_.extend, _.defaults로 복사하기
불변 객체, 그리고 immutable.js의 훌륭한 점
immutable.js의 아쉬운 점
Model/Collection 류의 커스텀 객체들의 아쉬운 점
기본 객체 다루기
_.sel과 JSON Selector로 중첩 구조 데이터 다루기
JSON Selector를 이용한 값 변경
커스텀 객체 vs 기본 객체
_.set, _.unset, _.remove2, _.pop, _.shift, _.push, _.unshift
_.set을 통한 값 변경을 함수로 하기
깊은 값 꺼내기: _.deep_pluck
정리
실전에서 함수형 자바스크립트를 더 많이 사용하기
_.each, _.map
if 대신 _.each 사용하기
선택된 항목들 지우기와 _.map
SQL의 insert문 만들기와 _.map
그룹 채팅 초대와 _.map
함수 고르기
많은 사람들이 기본 객체와 함수 중심으로 프로그래밍을 한다면
input tag들을 통해 form data 만들기
_.reduce로 만들기
여러 가지 함수로 함수 조합 연습해 보기
커머스 서비스 코드 조각 (미리보기)
장바구니에 담기 옵션 선택과 _.find
_.find_where
장바구니에 담긴 상품들의 수량 합산하기와 _.reduce
장바구니에 담긴 상품들의 금액 합산하기와 _.reduce
다른 함수 조합으로 수량 합산 구하기 _.deep_pluck, _.reduce
백엔드와 비동기 (미리보기)
백엔드에서 만날 수 있는 다양한 비동기 상황
순서대로 하나씩 실행하기
실행한 후의 결과 담기
true를 만나면 그만 돌기
_.if _.some, _.every 조합하기
_.loop와 _.break
async await 그리고 Babel은 모든 비동기 상황의 해결책일까?
async await를 for문과 if문에서 사용하기
async await의 한계
함수를 값으로 다루는 고차 함수의 해법
함수형으로 만드는 할 일 앱
할 일 앱 만들기(1)
할 일 생성하기
체크박스와 삭제 버튼
앱의 상태 관리를 위한 데이터 추가
필터링 기능 추가하기
한 일 모두 삭제하기
할 일 앱 만들기(2)
카운트 정보 표시하기
메모이제이션
memoize 함수
메모이제이션 코드로 이해하기
Underscore.js의 _.memoize
Partial.js의 _.memoize2
_.memoize2 내부와 JSON.stringify
메모이제이션과 불변성, 그리고 할 일 앱
할 일 앱에 _.memoize2 적용시키기
최종 코드
마무리 하며
인프런(Inflearn) 동영상 강의 : 자바스크립트로 알아보는 함수형 프로그래밍
몇 가지 프로젝트 소개
문의 사항
Wiki pages
Pages
17
Loading
Home
프로그래밍 인사이트
함수형 자바스크립트 프로그래밍
목차
Loading
1. 함수형 자바스크립트 소개
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
1.1 함수형 프로그래밍 그거 먹는 건가요?
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
1.2 함수형 자바스크립트의 실용성
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
1.3 함수형 자바스크립트의 실용성 2
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
1.4 함수형 자바스크립트를 위한 기초
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
3.1 Underscore.js 소개
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
4. 함수 조립하기
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
4.1 고차 함수와 보조 함수
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
4.2 부분 적용
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
4.3 연속적인 함수 실행
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
4.4 더 나은 함수 조립
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
5. Partial.js와 함수 조립
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
5.1 파이프라인
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
5.2 비동기
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
7.3 커머스 서비스 코드 조각
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
7.4 백엔드와 비동기
Uh oh!
There was an error while loading.
Please reload this page
.
Show 2 more pages…
목차
함수형 자바스크립트 소개
함수형 자바스크립트 그거 먹는 건가요?
함수형 자바스크립트의 실용성
함수형 자바스크립트의 실용성 2
함수형 자바스크립트를 위한 기초
함수형 자바스크립트를 위한 문법 다시보기
객체와 대괄호 다시 보기
함수 정의 다시 보기
함수 실행과 인자 그리고 점 다시보기
if else||&& 삼항 연산자 다시 보기
함수 실행의 괄호
화살표 함수
정리
Underscore.js를 직접 만들며 함수형 자바스크립트의 뼈대 익히기
Underscore.js 소개
_.map과 _.each 구현하기
_.filter, _.reject, _.find, _.some, _.every 만들기
_.reduce 만들기
좀 더 발전시키기
함수 조립하기
고차 함수와 보조 함수
부분 적용
연속적인 함수 실행
더 나은 함수 조립
Partial.js와 함수 조립
파이프라인
비동기
고차 함수
파이프라인2
템플릿 함수
지연 평가와 컬렉션 중심 프로그래밍
값에 대해
순수 함수
변경 최소화와 불변 객체
기본 객체 다루기
정리
실전에서 함수형 자바스크립트를 더 많이 사용하기
_.each, _.map
input tag들을 통해 form data 만들기
커머스 서비스 코드 조각
백엔드와 비동기
함수형으로 만드는 할 일 앱
할 일 앱 만들기(1)
할 일 앱 만들기(2)
메모이제이션
memoize 함수
메모이제이션과 불변성, 그리고 할 일 앱
마무리 하며
Clone this wiki locally
You can’t perform that action at this time.