IT_susu
순수함수란? 본문
순수함수는 입력이 같다면 출력도 항상 같은 값이 나오는 것입니다. 외부의 상태를 변경하지 않는 함수(=> 평가 시점이 중요하지 않다.)
순수함수의 예
function add(a, b) {
return a+b;
}
=>
1. 동일한 값이 항상 리턴된다.
2. 외부상태를 바꾸지 않는다.
const c = 10;
function add2(a, b) {
return a + b + c;
}
=>
1. 함수 외부에 존재하는 c의 값이 변하지 않으므로 순수함수다. ( 만일 c의 값에 변경여지가 있다면 순수함수가 아님)
2. 외부 상태(c)를 함수가 바꾸지 않는다.
var obj1 = { val : 10 };
function add5(obj, b) {
return { val : obj.val + b }
}
console.log( obj1.val ); // 10
var obj2 = add5(obj1, 20);
console.log( obj1.val ); // 10
console.log( obj2.val ); // 30
=>
1. 함수 외부에 존재하는 obj1의 값을 바꾸지 않으므로 순수함수다.
'computer science' 카테고리의 다른 글
컴퓨터란? (0) | 2018.11.05 |
---|---|
MVC 패턴 (0) | 2018.10.21 |
절차지향 vs 객체지향 vs 함수형(지향) 프로그래밍 (0) | 2018.10.19 |
객체지향 프로그래밍(OOP)이란? (0) | 2018.10.19 |
웹사이트 최적화 : 최소화(minification) (0) | 2018.06.11 |
Comments