본문 바로가기

Development/JavaScript

JS기초_4.1(함수기초)

함수의 기본형태

익명함수

function () {}

선언적 함수

function 함수() {

}

let 함수 = function () {};

 

매개변수와 리턴값

function 함수 (매개변수, 매개변수, 매개변수) {
	문장
    문장
    return 리턴값
}

나머지 매개변수

개수가 고정적이지 않은 가변 매개변수 함수를 자바스크립트에서 구현할 때 나머지 매개변수를 사용

매개변수 앞에 마침표 3개를 입력하면 매개변수들이 배열로 들어온다

function 함수 이름(...나머지 매개변수) { }

function sample(...items) {
	console.log(items)
}

sample(1, 2)
sample(1, 2, 3)
sample(1, 2, 3, 4)

//실행결과
[1, 2]
[1, 2, 3]
[1, 2, 3, 4]

 

기본 매개변수

함수 이름(매개변수, 매개변수=기본값, 매개변수=기본값)

 

키워드정리

  • 익명 함수란 이름이 없는 함수로 function () {} 형태로 만든다
  • 선언적 함수란 이름이 있는 함수로 function 함수이름 () {} 형태로 만든다
  • 함수의 괄호 안에 넣는 변수를 매개변수라고 한다. 매개변수를 통해 함수는 외부의 정보를 입력받을 수 있다.
  • 함수의 최종적인 결과를 리턴값이라고 한다. 함수 내부에 return 키워드를 입력하고 뒤에 값을 넣어서 생성한다.
  • 가변 매개변수 함수란 매개변수의 개수가 고정되어 있지 않은 함수를 의미한다. 나머지 매개변수(...)를 활용해서 만든다.
  • 전개 연산자란 배열을 함수의 매개변수로써 전개하고 싶을 때 사용한다.
  • 기본 매개변수란 매개변수에 기본값이 들어가게 하고 싶을 때 사용하는 매개변수이다.

Q1. A부터 B까지 범위를 지정했을 때 범위 안의 숫자를 모두 곱하는 함수 만들기

function multipleAll(a, b) {
    let output = 1
    for (let i = a; i <= b; i++) {
        output *= i
    }
    return output
}

console.log(multipleAll(1,2))
console.log(multipleAll(1,3))

//출력
2
6

 

Q2. 최대값을 찾는 max() 함수 만들기

  • 매개변수로 max([1, 2, 3, 4])와 같은 배열을 받는 max() 함수
function max(array) {
    let output = array[0]
    for (const item of array) {
    if (output < item) {
        output = item
    }
    }
    return output
}
console.log(max([1, 2, 3, 4]))
  • 매개변수로 max(1, 2, 3, 4)와 같은 숫자를 받는 max() 함수
function max(...items) {
    let output = items[0]
    for (const item of items) {
    if (output < item) {
        output = item
    }
    }
    return output
}
console.log(max(1, 2, 3, 4))
  • 매개변수로 배열과 숫자를 받는 max() 함수
function max(first, ...rests) {

    let output
    let items


    if (Array.isArray(first)) {
        output = first[0]
        items = first
    } else if (typeof(first) === 'number'){
        output = first
        items = rests
    }
    for (const item of items) {
        if (output < item) {
            output = item
        }
    }
    return output
}
console.log(`max(배열): ${max([1, 2, 3, 4])}`)
console.log(`max(숫자, ...): ${max(1, 2, 3, 4)}`)

'Development > JavaScript' 카테고리의 다른 글

JS기초_5.1(객체기본)  (0) 2023.03.10
JS기초_4.2(함수 고급)  (0) 2023.03.09
JS기초_3.2(반복문)  (0) 2023.03.09
JS 기초_3.1(배열)  (4) 2023.03.08
JS 기초_2(조건문)  (0) 2023.03.07