자바스크립트에서 사용자 정의 함수(Custom Function)란 개발자가 직접 작성하는 함수를 의미합니다. 자바스크립트는 필요에 따라 자신만의 함수를 자유롭게 정의할 수 있도록 지원하며, 이를 통해 코드의 재사용성과 가독성을 높일 수 있습니다.
사용자 정의 함수 문법
<script>
<!--
function functionname(parameter-list)
{
statements
}
//-->
</script>위 문법에서 functionname은 함수의 이름, parameter-list는 함수가 받을 매개변수 목록, 그리고 중괄호 안에는 실행될 코드(문장)가 들어갑니다.
내장 함수(Built-in Function)란?
내장 함수는 자바스크립트 라이브러리에서 이미 제공하는 함수로, 개발자가 별도로 정의하지 않고도 바로 호출하여 사용할 수 있습니다. 대표적으로 문자열을 다루는 내장 메서드들은 다음과 같습니다.
| 번호 | 메서드 및 설명 |
|---|---|
| 1 | charAt() 지정된 인덱스 위치에 있는 문자를 반환합니다. |
| 2 | charCodeAt() 주어진 인덱스에 해당하는 문자의 유니코드 값을 나타내는 숫자를 반환합니다. |
| 3 | concat() 두 문자열의 텍스트를 결합하여 새로운 문자열을 반환합니다. |
| 4 | indexOf() 호출한 String 객체에서 지정된 값이 처음 나타나는 인덱스를 반환하며, 찾지 못하면 -1을 반환합니다. |
내장 함수 활용 예제
다음은 자바스크립트의 내장 함수인 concat() 메서드를 사용해 두 개의 문자열을 하나로 합치는 예제입니다.
<html>
<head>
<title>JavaScript String concat() Method</title>
</head>
<body>
<script>
var str1 = new String( "This is string one" );
var str2 = new String( "This is string two" );
var str3 = str1.concat( str2 );
document.write("Concatenated String :" + str3);
</script>
</body>
</html>실행 결과
위 코드를 실행하면 두 문자열이 연결되어 다음과 같은 결과가 출력됩니다.

정리
요약하면, 사용자 정의 함수는 개발자가 직접 로직을 작성해 만드는 반면, 내장 함수는 자바스크립트 엔진과 라이브러리가 미리 구현해 제공하는 함수입니다. 상황에 따라 내장 함수를 적극 활용하면 개발 시간을 단축하고 코드 오류를 줄일 수 있으며, 고유한 기능이 필요할 때는 사용자 정의 함수를 작성하면 됩니다.