자바스크립트(Javascript)로 오버로딩 함수 구현하기

자바스크립트는 일단 오버로딩 함수를 지원하지 않는다. 다만 매개 변수를 검사하는 방법으로 오버로딩이 되는 것처럼 응용할 수 있다.

function view(){ alert(val); } function view(v){ alert(v); }

함수 선언을 이런 방법으로 했다면 첫번째 view()는 무시되고 view(v)로 인식하게 된다. 브라우저 버전에 따라 동일한 함수명을 사용 할 때 오류가 발생할 수도 있다.

매개변수 개수에 따라 함수 기능을 다르게 하는 방법은 아래 예문과 같다.

function view(){ var a = arguments; switch (a.length){ case 1: //– 매개변수가 하나일 때 var val = a[0]; alert(val); break; case 2: //– 매개변수가 두 개 일 때 var val = a[0]; var val2 = a[1]; alert(val + val2); break; } } view(“변수1”); view(“변수1”, “변수2”);

switch문을 이용해 매개변수의 개수에 따라 처리 내용을 달리 할 수 있다.

자바스크립트에서는 함수의 매개변수의 개수를 이용하여 마치 오버로딩 함수처럼 사용자 함수를 구현 할 수 있다.