자바스크립트 - 함수(function)

더미벨·2022년 5월 9일
1

💡함수가 필요한 이유

  • 함수는 필요할 때마다 실행 시점을 개발자가 결정하여 호출하여 재사용이 가능하다.
  • 미리 정의된 함수를 여러번 호출할 수 있어 코드의 재사용 면에서 큰 유용성을 지닌다.
  • 코드 중복을 억제하고 재사용성을 높여 유지보수의 편의성을 높여준다. (*https://velog.io/@minj9_6/JavaScript의-함수가-필요한-이유 참조)*


함수의 정의와 호출

  • 함수의 정의: 함수의 정의는 컴퓨터에게 사용자가 만든 함수를 인식시키는 것을 의미한다. 따라서 함수의 정의만으로 함수가 실행되는 것은 아니다. 실행을 하기 위해서 필요한 것이 ‘호출’이다.
  • 함수의 호출:
function myName() {
	console.log("Yejee")
} // 함수 정의

myName() // "Yejee" 출력. 함수 호출

반환문(return)

‘return 명령문은 함수 실행을 종료하고 주어진 값을 함수 호출 지점으로 반환합니다.’ - MDN 발췌

  • 함수를 호출한 부분으로 데이터를 전달해주기 위해 사용

→ 다양한 맥락에서 활용할 수 있는 자유도가 생김.


function addNumbers() {
	return 100 + 200
}

addNumbers() // console에 아무것도 찍히지 않음
console.log(addNumbers()) // 300

let myNumber300 = addNumbers() 
console.log(myNumber300)
//return을 사용하면 이런식으로 함수를 변수에 할당한 후 출력하는 것이 가능하다.(console.log는 변수에 할당 불가능)
  • 함수 내부에서 일어난 일을 외부로 보내주는 역할을 한다.
function addNumber(num1, num2( {
	let num3= num1 +num2
}

let num3 = 0
addNumber(3,5)
console.log(num3) 
// 0 출력. 매개변수는 함수 내부에서만 작동하고 함수 외부로 나가면 사라지기 때문.
function addNumber(num1, num2) {
	return num1 + num2
}

let num3 = addNumber(3,5)
console.log(num3) // 8 출력.

input

function sayHello(input) {
	return 'Hello, ' + input + '!'
} // 여기에서 input에 해당하는 부분을 **parameter**라고 한다.

console.log(sayHello('Yejee')) // "Hello, Yejee!" 출력
console.log(sayHello('Dumibell')) // "Hello, Dumibell" 출력
//여기서 'Yejee'와 'Dumibell'을 **argument(인자)**라고 한다.

/* 함수를 선언할 때 input값을 받겠다고 얘기하면 input자리에 들어오는 대로 output이 바뀜 */in

→input을 사용하면 하나의 함수만 가지고도 argument(인자)를 다르게 하여 여러개의 output을 만들어낼 수 있다.

※함수 안에서 선언된 변수는 함수 바깥에서 사용할 수 없다.

function addNumbers(num1, num2) {
	let result = num1 + num2
	return result
}
console.log(result) // "error"
// result라는 변수는 addNumbers라는 함수 안에서 선언된 변수이기 때문에 함수 바깥에서는 실행되지 않는다.
profile
프론트엔드 개발자👩‍💻

0개의 댓글