혼자 공부하는 자바스크립트-함수

임홍렬·2022년 5월 15일
0
post-thumbnail

JavaScript 함수


220515


함수

함수의 기본 형태


function () {}
반복되는  코드를 한번만 정의해놓고 필요할 때마다 호출하므로 반복 작업을 피할 수 있다.
기능별로 나누어 여러 함수로 작성하면 출력했을때 모듈화로 전체코드의 가독성이 좋아진다.
기능별(함수별)로 수정이 가능하므로 유지보수가 쉽다.

익명 함수

함수를 출력했을 때 별다른 이름이 붙어있지 않은 함수이다.
f(){}
// 변수를 생성
const 함수 = function () {
    console.log('함수 내부의 코드입니다... 1')
    console.log('함수 내부의 코드입니다... 2')
    console.log('함수 내부의 코드입니다... 3')
    console.log('')
}
=> undefined

//함수를 호출
함수()
=>	함수 내부의 코드입니다... 1
	함수 내부의 코드입니다... 2
	함수 내부의 코드입니다... 3 
	undefined

//출력
console.log(typeof 함수)
=>	function
	undefined

console.log(함수)
=>	ƒ () {
    console.log('함수 내부의 코드입니다... 1')
    console.log('함수 내부의 코드입니다... 2')
    console.log('함수 내부의 코드입니다... 3')
    console.log('')
}
	undefined

선언적 함수

finction 함수 () {


}


let 함수 = function (){};
//함수를 생성
function 함수 () {
    console.log('함수 내부의 코드입니다 ... 1')
    console.log('함수 내부의 코드입니다 ... 2')
    console.log('함수 내부의 코드입니다 ... 3')
    console.log('')
}
=> undefined

//함수를 호출
함수()
=>  함수 내부의 코드입니다 ... 1
	함수 내부의 코드입니다 ... 2
	함수 내부의 코드입니다 ... 3 
	
    undefined

함수()
=>ㅏ 다르게 함수에 이름이 붙어 있습니다  함수 내부의 코드입니다 ... 1
	함수 내부의 코드입니다 ... 2
	함수 내부의 코드입니다 ... 3 
	
    undefined

//출력
console.log(typeof 함수)
=>	function
	undefined

console.log(함수)
=>	ƒ **함수** () {
    console.log('함수 내부의 코드입니다 ... 1')
    console.log('함수 내부의 코드입니다 ... 2')
    console.log('함수 내부의 코드입니다 ... 3')
    console.log('')
}
- 익명함수와 다르게 함수에 이름이 붙어 있습니다. 

매개변수와 리턴값

함수를 호출할때 괄호 안에 적는 것을 매개변수라고 한다.
함수의 최종 결과를 리턴 값이라고 부른다.
function 함수 (매개변수, 매개변수, 매개변수) {
	문장
    문장
    return 리턴값
}
// 함수를 선언
function f(x) {
	return x * x
}

//함수를 호출
console.log(f(3))

=> 9
  • 함수에서의 출력값은 리턴값이다.
    // 함수를 호출
    console.log(f())

윤년을 확인하는 함수 만들기

2월에는 28일까지 있지만, 몇년에 한 번 29일까지도 있기도 한다. 이런 해를 윤년이라고 부른다.

  • 4로 나누어 떨어지는 해는 윤년이다.
  • 하지만 100으로 나누어 떨어지는 해는 윤년이 아니다.
  • 하지만 400으로 나누어 떨어지는 해는 윤년이다.
function isLeapYear(year) {
    return (year % 4 === 0) && (year % 100 !== 0) || (year % 400 === 0)
}
=>	undefined


console.log(`2020년은 윤년일까? === ${isLeapYear(2020)}`)
console.log(`2010년은 윤년일까? === ${isLeapYear(2010)}`)
console.log(`2000년은 윤년일까? === ${isLeapYear(2000)}`)
console.log(`1900년은 윤년일까? === ${isLeapYear(1900)}`)
=>	2020년은 윤년일까? === ${isLeapYear(2020)}
	2010년은 윤년일까? === ${isLeapYear(2010)}
	2000년은 윤년일까? === ${isLeapYear(2000)}
	1900년은 윤년일까? === ${isLeapYear(1900)}

a부터 b까지 더하는 함수

function sumAll(a, b) {
    let output = 0
    for (let i=a; i<=b; i++) {
        output += i
    }
    return output
}
=>	undefined
    
    
    console.log(`1부터 100까지의 합: ${sumAll(1, 100)}`)
    console.log(`1부터 100까지의 합: ${sumAll(1, 500)}`)
=>	1부터 100까지의 합: 5050
	1부터 100까지의 합: 125250
	undefined

값을 다 같이 나오게 하고 싶으면 ''이 아니라 백틱2개 사용한다.
함수를 오늘 다 끝내고 싶었으나 시작은 창대하나 끝은 미미했다...
아숩지만 그래도 다시 정리되는 기분이라서 뿌듯하다!
p.196 ~ 204

profile
뜨내기 FE 개발자

0개의 댓글