JavaScript - 함수

노홍기·2022년 5월 7일
0

JavaScript-함수

목록 보기
1/1

함수

함수는 자바스크립트 프로그램에 정의되어 있거나 자바스크립트 구현에 미리 정의되어 있는 실행 가능한 코드 이며, 한 번 정의하면 자바스크립트 프로그램 내에서 여러 번 실행될 수 있다.

함수는 계산 대상인 값들을 지정하는 전달인자나 매개변수를 넘겨받을 수 있으며, 계산 결과를 나타내는 값을 반환할 수 있다.

함수는 자신이 새롭게 정의할 수도 있고, 자바스크립트에서 Matr.sin() 함수 같이 정해놓은 함수를 활용할 수도 있다.

function rooney(x) // 함수 이름은 rooney이며 전달인자 x 하나를 받는다.
{ 				   // 함수의 몸체 시작
	return x+3;	   // 이 함수는 전달인자에 3을 더한 값을 반환한다.
}				   // 함수의 몸체 종료 

함수가 정의되면 함수 이름과 괄호를 사용하여 함수를 호출 할 수 있다.

X = Math.sin();
Y = rooeny(2);

자바스크립트의 중요한 특성 중 하나는 함수도 자바스크립트 코드로 조작할 수 있는 형태의 값이라는 것이다.
이것은 함수를 변수나, 배열, 객체에 저장할 수 있으며 다른 함수의 전달인자로 넘겨 줄 수 있다는 것을 의미한다.

함수도 숫자나 문자열 처럼 값이므로 다른 값처럼 객체 프로퍼티에 할당될 수 있다.
함수가 어떤 객체의 프로퍼티로 할당되면, 흔히 그 객체의 메서드라고 부른다.


함수 리터럴

함수 리터럴은 함수 이름을 명시하지 않는다는 것을 제외하고는 함수 정의와 모양이 동일하다.

function park(x) { return x*2;} // park 함수 정의

var park = function(x) {return x*2;} // park 함수 리터럴

이름 없는 함수를 람다함수라고 부른다. 고급 스크립트를 작성할 때 함수 리터럴이 꽤나 편리하고 유용하게 사용될 수 있다.

함수를 정의하는 방법은 한 가지 더 있다. 전달인자 목록과 함수 몸체를 문자열 형태로 Function() 생성자에 전달하는 것이다.

var park = new Function("x", "return x*2;");

하지만 이런식으로 정의하면 비효율적이다.

*참고자료 : 자바스크립트 완벽 가이드 5/E

profile
레벨업 하는 중

0개의 댓글