[5월 스터디 8DAY-1] 순수함수란 무엇인가요?

J._NA 개발일지·2023년 5월 17일

순수함수란 입력값에 대해 항상 동일한 출력값을 반환하는 함수로, 외부상태에 영향을 끼치는 사이드 이펙트가 없는 함수를 의미.
순수함수는 입력값만을 가지고 처리하기 때문에 입력값이 변경되지 않는 한 항상 같은 결과를 반환하므로 불변성이 유지.
순수함수를 제작하기 위해서는 데이터의 불변성을 유지하는 것이 중요한데, 전달인자로 참조 자료형이 전달되는 경우 객체 자체를 바꾸는 사이드이펙트가 생길 수 있어 map, filter, reduce 메소드가 각광받게 됨

순수함수의 개념은 왜 중요한가요?

사이드 이펙트를 줄이고 모듈화 수준을 높이는 프로그래밍 패러다임인 '함수형프로그래밍'에서 순수함수는 평가 시점이 무관하다는 특징 때문에 효율적인 로직을 구성할 수 있습니다.

데이터의 불변성

자바스크립트에서 순수함수를 제작하기 위해서 데이터의 불변성을 유지하는 것이 중요합니다. 함수의 전달인자로 참조 자료형이 전달되는 경우, 의도치 않게 해당 객체 자체를 바꾸는 사이드 이펙트를 만들수도 있고, 이는 해당 데이터의 불변성을 손상시킵니다. 그래서 배열의 불변성을 보장하는 메서드인 map, filter, reduce등을 많이 씁니다.

profile
아밥 & 프론트엔드 개발자

0개의 댓글