JavaScript에서 return 키워드를 활용하면 내부에 정의된 함수를 외부로 반환하여 호출할 수 있습니다. 이는 클로저(closure) 개념을 활용한 대표적인 패턴으로, 내부 함수가 외부 함수의 변수에 접근하면서도 캡슐화를 유지할 수 있다는 장점이 있습니다. 다음은 이를 구현한 코드입니다 −
코드 예제
var subtractMethod = function () {
var firstValue = 1000, thirdValue = 200;
var divideMethod = function () {
var secondValue = 500;
console.log("The result of
divideMethod()="+(firstValue/secondValue));
return (firstValue-secondValue);
}
return divideMethod;
}
var result = subtractMethod();
console.log("The result of subtractMethod()="+result());
위 코드에서 subtractMethod는 내부 함수 divideMethod를 반환합니다. 이후 반환된 함수를 호출하면 내부 로직이 실행되며 연산 결과가 반환됩니다.
프로그램 실행 방법
위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 입력합니다 −
node fileName.js
여기서는 파일 이름이 demo198.js입니다.
실행 결과
프로그램을 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다 −
PS C:\Users\Amit\javascript-code> node demo198.js The result of divideMethod()=2 The result of subtractMethod()=500
결과 분석
divideMethod()는 firstValue(1000)를 secondValue(500)로 나눈 값인 2를 콘솔에 출력하고, firstValue - secondValue 계산식의 결과인 500을 반환합니다. 이처럼 return 키워드를 통해 내부 함수를 외부에 노시키면, 외부에서도 내부 함수의 연산 결과를 자유롭게 활용할 수 있습니다.