반응형
순수 함수란?
- 부수효과가 없는 함수 즉, 어떤 함수에 동일한 인자를 주었을 때 항상 같은 값을 리턴하는 함수 + 외부의 상태를 변경하지 않는 함수를 말한다.
순수 함수의 조건
- 동일한 인자가 들어갈 경우 항상 같은 값이 나와야 한다.
- 부수적인 효과가 일어나면 안 된다.
- return 값으로만 소통한다.
- 순수함수는 평가 시점이 중요하지 않다.
- 만약 순수함수가 아니라면 동일한 인자를 넣어도 다른 값이 나오는 경우 어떠한 시점에서 함수를 평가할지가 굉장히 중요한데 순수함수는 동일한 인자를 넣으면 항상 같은 값이 나오기 때문에 굳이 평가시점을 따질 필요가 없다.
예시
순수 함수
function add(a,b){
return a+b;
}
- 함수 add는 순수 함수이다.
- 언제 어디서 실행해도 add(1, 2)는 항상 15를 리턴하고 외부 상태를 변경하지 않기 때문이다.
순수 함수 X
let c = 10;
function add2(a,b){
return a + b + c;
}
console.log(add2(10,3));
console.log(add2(10,3));
c = 20;
console.log(add2(10,3));
- 위 예시 add2 함수는 순수 함수가 아니다.
- 함수내에서 외부의 c 라는 값이 변하면 결과값도 변하기 때문이다.
- 만약 c가 상수(변하지 않는 수)라면 add2는 순수 함수이다.
요약
- 즉 순수 함수란 외부의 상태를 변경하지 않으면서 동일한 인자에 대해 항상 똑같은 값을 리턴하는 함수이다.
반응형
'기타' 카테고리의 다른 글
[MacOS] M1칩에서 logstash 설치하기 (0) | 2022.06.02 |
---|---|
[MacOS] M1칩에서 open jdk 8버전(1.8) 설치 (0) | 2022.06.02 |
windows에서 개인 pem키를 ppk키로 변환하는 방법 (0) | 2022.05.08 |
[Backend-Roadmap] HTML, CSS, JS (0) | 2022.05.02 |
[Backend-Roadmap] 호스팅(Hosting)이란? (0) | 2022.05.02 |