javaScript-함수1
함수란 자바스크립트에서 중요한 개념이다.
프로그래밍의 함수와 수학의 함수는 같은 개념이다.
함수 (x,y) = x + y를 자바스크립트의 함수로 표현하면
// f(x, y) = x + y
function add(x,y) {
return x + y;
}
// f(2, 5) = 7
add(2, 5); //7
프로그램이 언어의 함수는 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다.
함수는 함수 정의를 통해 생성한다
함수 선언문으로
// 함수 정의
function add(x, y){
return x + y;
}
함수 정의만으로 함수가 실행되지는 않는다.
인수를 매개변수를 통해 함수에 전달하면서 실행을 명시적으로 지시해야 한다.
이를 함수호출 이라고 한다.
// 함수 호출
var result = add(2, 5);
// 함수 add에 인수 2,5를 전달하면서 호출하면 반환값 7을 반환한다.
console.log(result); // 7
함수는 필요한 시점에 여러번 호출할 수 있다.
이 떄문에 코드의 재사용이라는 측면에서 유용하다.
함수를 통해 중복을 제거하고 코드를 재사용할 수 있기 때문.
이는 유지보수의 편의성을 높이고 실수를 줄여 코드의 신뢰성을 높이는 효과가 있다.
함수 리터럴
자바스크립트의 함수는 객체 타입의 값이다.
따라서 숫자 값을 숫자 리터럴로 생성하고 객체를 객체 리터럴로 생성하는 것처럼 함수도 함수 리터럴로 생성할 수 있다.
함수 리터럴은 function 키워드, 함수 이름, 매개 변수 목록, 함수 몸체로 구성된다.
// 변수에 함수 리터럴을 할당
var f = function add(x, y){
return x + y
};
함수 이름
·함수 이름은 식별자이기 때문에 식별자 네이밍 규칙을 준수해야 한다.
·함수 이름은 함수 몸체 내에서만 참조할 수 있는 식별자다.
·함수 이름은 생략할 수 있다. 이름이 있는 함수를 기명 함수, 이름이 없는 함수를 무명/익명 함수라고 한다.
매개 변수 목록
·0개 이상의 매개변수를 소괄호로 감싸고 쉼표로 구분한다.
·각 매개변수에는 함수를 호출할 떄 지정한 인수가 순서대로 할당된다, 즉 매개변수 목록은 순서에 의미가 있다.
·매개변수는 함수 몸체 내에서 변수와 동일하게 취급된다, 따라서 매개변수도 변수와 마찬가지로 식별자 네이밍 규칙을 준수해야 한다.
함수 몸체
·함수가 호출되었을 때 일괄적으로 실행될 문들을 하나의 실행 단위로 정의한 코드 블록이다.
·함수 몸체는 함수 호출에 의해 실행된다.
함수는 객체지만 일반 객체와 다른 점은 일반 객체는 호출할 수 없지만 함수는 호출할 수 있다.
그리고 일반 객체에 없는 함수 객체만의 고유한 프로퍼티를 갖는다.