본문 바로가기

JavaScript

JavaScript 함수

함수

함수란? 
특정 작업을 여러번 반복해야할때 재사용가능한 구조를 만드는데 이때 사용하는 것을 함수라한다 

JavaScript 프로그램을 구현할때 기능별로 함수를 작성하여 프로그램을 실행시키는 역할을한다

기본형태

함수선언키워드 함수이름 파라미터{
실행할내용
}

ex)

ex1)
function calc(a,b) {
  let sum = a+b  
  return sum
}
console.log(calc(10,5))


위코드에서 function은 함수선언키워드로써 나 이제 함수쓸꺼야라고 프로그램한태 알려주는키워드이다 calc는 함수를 쓸껀데 이친구 이름은 calc라고해 라고 할수있다.
()안에 a,b는 파라미터로 함수블록안에서 값을 설정할때 쓰이는 입력값이라고할 수있다. return은 함수블록안에서 설정된 내용중 무엇을 결과적으로 출력할지에대한 내용을적는 출력값이라 할 수 있다. 이때 파라미터로써 입력값인 a와b의값을 참조한다.

추가적으로() 안에 a,b에는 아직 값이 설정되지않은 입력값으로써 파라미터라부르고 console.log안에있는 10과5가 a와b에 대응하여 값이설정되면 이를 인자라부른다.

즉 값이설정되지않은 입력값=파라미터이고 값이설정된 입력값=인자라 부른다.

함수는 변수에 담아 사용 할 수 있다.
ex2)

let calc = function(n1,n2){
  sum = n1+n2
  return sum
}
console.log(calc(5,2))


위 두개의 코드에 대해서 이야기하자면 ex1과같은 방식으로 함수를 만들면 그것을 함수 선언식이라하고 
ex2와같은 방식으로 함수를 만들면 그것은 함수 표현식이라한다 
즉 변수사용없이 함수를 만들면 함수선언식이라하고 변수에 함수를담아 쓰면 함수표현식이라한다 

함수선언식과 함수표현식의차이

일단 함수선언식은 함수에 이름을 지어주지만 함수표현식엔 함수이름이 없다 왜냐하면 변수명을 이용해서 함수를 사용하기때문이다.

또한 함수선언식같은경우 자바스크립트엔진이 함수를 먼저 찾아낸후 함수를 호출하여 정상작동하지만
함수 표현식같은경우 자바스크립트엔진이 위에서부터 순차적으로 실행되어 함수호출를 먼저했을때 오류가 발생한다

ex)
함수선언식

console.log(sum(21,24))
console.log(sum(7,16))

function sum(p1,p2){
 return p1+p2
}  -->  함수를 먼저 호출한후 함수를정의해도 정상작동


함수표현식

console.log(sum(21,24))
console.log(sum(7,16))

let sum = function(p1,p2){
 return p1+p2
} --> 오류뜸 JS해석엔진이 순차적으로 해석해서 sum이 뭔지 모르기때문

'JavaScript' 카테고리의 다른 글

JavaScript 내장함수number편  (0) 2022.03.13
JavaScript 내장함수 문자열(string)편  (0) 2022.03.13
JavaScript 반복문  (0) 2022.03.13
JavaScript 조건문  (0) 2022.03.13
JavaScript 연산자  (0) 2022.03.13