차근차근 개발중

[JavaScript] 함수 본문

카테고리 없음

[JavaScript] 함수

zaenny 2024. 3. 11. 17:36

 

함수란?

  • 정해진 입력으로 원하는 결과값을 반환해주는 독립적인 코드 블록
  • function이라는 키워드로 선언 가능
    • 함수이름
    • 매개변수
    • 자바스크립트 실행문 
function 함수명( 매개변수1, 매개변수2, .... ){
	자바스크립트 실행문
}
  • 함수 입력값을 parameter 또는 argument라고 부름
  • 일급 함수 성질을 지님
    • 함수를 변수에 할당 할 수있으며, 다른 함수의 인자값 또는 리턴값으로도 사용할 수 있음
function multi(p1, p2){
	return p1*p2
}

let multi = function(p1, p2) { return p1 * p2 }



let calFunc = (type) => {
	
    if(type === 'plus'){
    	return (p1, p2) => {
        	return p1 + p2
        }
    }else if(type === 'minus'){
    	return (p1, p2) => {
        	return p1 - p2
        }
    }else {
    	return (p1, p2) => {
        	return 0;
        }
    }
}

const plusFunc = claFunc('plus');
console.log(plusFunc(5 , 3))			// 8

 

 

함수 문법

- 화살표 함수(Arrow function) _ 보편적으로 사용 

: ES6에서 소개된 신 기능, 함수를 function키워드 대신 화살표(=>)를 사용하여 간략한 방법으로 함수 선언

let exFunc = (name, age) => { return name + age; }

 

- 나머지 입력값(Rest parameters)

: 함수에서 입력값을 무제한으로 받을 수 있는 경우, 모든 인자값을 표현하기 위해 사용

let exFunc = function(a1 , a2, ...args){console.log( 'args : ' , args )}

exFunc(1,2,3,4,5);     // 3,4,5

 

- 입력값의 기본값(Default parameter)

: 특정 위치의 parameter 미입력시, 자동으로 기본값을 지정하는 방법(지정안하면 undefined)

let exFunc = function(a,b = 1){ return a + b; }

exFunc(5);    //6

 

- 예약어(arguments)

: 함수 입력값을 Array형태로 가지고 있는것.(화살표 함수에서는 사용불가)

let exFunc = function(a,b,c){ console.log(arguments) }

exFunc(1,2,3)     // 1,2,3

 

 

 

 

 

 

참조 : 제로베이스 - 핵심만 골라먹는 자바스크립트

Comments