JavaScript

자바스크립트의 함수

bergerac 2025. 3. 27. 09:11

1. 함수의 정의

특정 작업을 수행하거나 값을 계산하는데 사용되는 코드의 묶음(집합)

 

>>자바의 메서드와 자바스크립트의 함수와의 차이

  • 자바스크립트의 경우 함수의 정의 keyword 가 function이다.
  • 자바는 반환타입을 정의하는데에 비하여 자바스크립트는 정의하지 않는다
  • 매개변수의 타입또한 정의하지 않는다.  

>>따라서 자바스크립트은 모든 유형의 데이터가 전달 가능하며 모든 유형의 데이터 값 반환 가능

 

 

위과 같이 자바와는 다르게 int String 등의 반환타입이나 매개변수 타입을 설정하지 않아도( 즉, 숫자이거나 문자여도 sum이라는 함수가 동작함을 알 수 있다.)

 

2. 함수의 사용용도

1) 코드 재사용

ex) 두 수의 합을 계산 : f(x)=y

 

2)모듈화&추상화

  • 복잡한 작업을 수행하는 코드를 함수로 분리한다.
  • 따라서 각 함수가 수행하는 작업에 집중할 수 있다.

*추상화란? 특정 기능을 하는 그룹의 공통된 기능을 정의한다.

 

3)이벤트 처리

웹페이지에서 발생하는 다양한 이벤트 처리에 사용된다

이 사진과 같이 버튼을 클릭하면 어떠한 메시지가 뜨는 등의 이벤트에 활용 가능하다.

3. 함수 구현 방법

function 함수명 (매개변수-parameter){
	return 결과값;(생략가능)
}

 

1) 함수명명규칙 

-> lowerCamelCase 사용하며, 동사사용을 권장한다.

-> *매개변수란? : 함수에 입력으로 제공되는 값

-> 결과값(return, 리턴값) : 함수가 작업 완료 후 반환하는 데이터(값) - return키워드로 반환

 

4. 함수 선언 방식

1) 함수 선언식 

>> function 키워드를 사용하며, 함수명 명시 작성이 필수이다.

>>호이스팅 적용이 가능하다. 즉, 함수 선언 전 호출이 가능하다. 

function greet1(){
	console.log('안녕하세요');
}

 

 

함수 사용시에는 함수며(); 라는 방식으로 사용되어야 한다.

console.log에 넣으면  함수라는 메시지만 나올 뿐이다.

 

2)함수 표현식

  • 익명함수 : 이름이 없는 함수
  • 함수를 변수에 할당하는 방식(함수의 사용이 선택적이다.)
  • 함수를 할당하는 변수는 let, const 모두 가능하다
const 변수명 = function(매개변수){
	-함수의 기능 작성
    -return 반환값;(선택적)
}

 

  • 호이스팅이 적용이 되지 않으며 선언(정의)이전에 호출이 불가능하다. 

 

따라서 선언 이전에 호출을 한다면 다음과 같은 오류메시지가 뜨게 된다.

 

3)화살표 함수 

기존의 function키워드를 화살표로 대체한다(간결한 작성)

호이스팅 적용 불가+ 항상 익명 함수로 사용된다.

this가 일반함수와 다르게 바인딩 된다.

 

let 변수명 = (매개변수 - parameter) => {
    -함수의 기능 작성
    -return 반환값;
}

 

화살표 함수는 매개변수가 1개인 경우 소괄호를 사용하고 함수 본문(구현부)가 단일문인 경우 중괄호+return키워드 생략이 가능하다.

 

5. 함수의 인자(argument)

함수의 사용을 위해 파라미터로 전달되는 값

parameter 변수선언

argument : 변수할당

 

6. 함수 호출 방법

함수생성(함수선언) <> 함수사용(함수호출)
: 함수명(인자값-선택);

 

7. 함수의 스코프(Scope, 범위)

1) 지역변수(local) : 중괄호 내의 영역(함수 내부)

2) 전역변수 (global) : 해당 파일(모듈)내의 영역이라 해당 파일 내부에서 어디든지 접근 가능

 

지역변수로 선언된 job은 전역변수로 선언된 username 과 다르게 외부에서 호출시에는 job is not defined 즉 job이라는 변수가 선언되지 않았다는 메시지가 뜨게 된다.  

 

함수 선언 방식에 따른 함수 표현식

- 일반적인 상황 : 함수 선언문(function+함수명 o)

- 조건부 함수 사용 : 함수 표현식(function+함수명 선택)

- 콜백 함수 사용 : 화살표 함ㅅ(=>+함수명x)

 

 

 

 

 

 

 

 

'JavaScript' 카테고리의 다른 글

JavaScript이벤트  (0) 2025.03.31
JavaScript객체와 Prototype/참조타입  (0) 2025.03.30
JavaScript 객체(Object)  (1) 2025.03.29
자바스크립트 함수 구조 : 매개변수/ 인자/반환값  (1) 2025.03.28
자바스크립트의 배열  (3) 2025.03.26