어떠한 외부 상태에 의존하지도, 변경하지도 않는(부수 효과가 없는) 함수
function add(a, b) {
return a + b;
}
// 외부 상태에 상관없이 a,b 인수의 값으로만 반환값을 갖는다.
순수함수의 반대되는 개념으로, 외부 상태에 의존하거나 외부 상태를 변경하는(부수 효과가 있는)함수
외부 상태를 변경하는 side-effect를 갖는다.
var c = 5;
function add2(a, b) {
c = b;
return a + b + c;
}
// c의 값이 b가 무엇이 들어오느냐에 따라 달라져서 외부에 영향을 줘버릴 뿐만 아니라
// 외부 변수인 c에 따라 값이 변함