차근차근 개발중
[JavaScript] 함수 본문
함수란?
- 정해진 입력으로 원하는 결과값을 반환해주는 독립적인 코드 블록
- 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