이번에는 기능 수행만 하는 함수만 배워 볼 것입니다요
~예시를 들어 이해를 해보자~
input - 친구
함수 - 친구에게 안녕하는 함수
output - 안녕 친구야
<함수를 구성하는 기본요소>
1.인풋받기
2.기능수행
3.아웃풋 반환
(그렇지만 1번과 2번만으로도 함수가 동작하기도함
또는 2번과 3번만으로도 정상 동작 가능
마지막으로 2번만으로도 함수는 자기동작을 충분히 함)
(선언=정의 실행=호출)
•정의하기(input 없는 상태)
function sayHello() {
console.log('Hello! Code Kim!'
}
//중괄호 안쪽에 있는 것이 함수가 수행할 기능
•호출하기
sayHello()
~실습을 통해 알아보자~
function sayHello(){ console.log('Hello Code Kim') } //위 함수는 실행되지 않음. 왜냐하면 함수를 선언만 했기때문에! 호출을 해줘야함!
function sayHello(){ console.log('Hello Code Kim') } sayHello() --->⭐호출하기 잊지말자⭐ //"Hello Code Kim"
이번에는 기능 수행, 아웃풋 반환하는 함수를 배워보자
function sayHello(){ let friend = 'Code Kim' console.log('Hello' + friend) } sayHello() //"HelloCode Kim"
이번에는 콘솔로그를 찍지 않고 return 명령어를 사용할것이다. return 뒤에 있는 명령어를 output으로 반환해보겠다.
아래 두가지 함수를 같이 호출해보겠다.
function sayHello(){ let friend = 'Code Kim' console.log('Hello!' + friend) } function sayHello2(){ let friend = 'Code Kim' return 'Return' + friend } sayHello() satHello2() //이렇게 하면 "Hello!Code Kim"만 출력됨 그리고 다음줄엔 에러가 뜸. 그래서 sayHello()부분을 지우고 run해도 안뜸. 이게 정상임
return은 출력 명령어가 아니다!
(console.log랑 다름, 출력하는 함수는 콘솔로그)
자, 그러면 return 한 값을 콘솔로그로 나타내보자
function sayHello(){ let friend = 'Code Kim' return 'Return' + friend } console.log(sayHello()) //"ReturnCode Kim"
⭐콘솔에 바로 찍히지도 않는데 왜 return을 사용할까요????
⭐⭐return한 값을 변수에 할당 가능하기 때문에⭐⭐
자 그러면 Return Code Kim을 myFriend에 담아보자
function sayHello(){ let friend = 'Code Kim' return 'Return' + friend } let myFriend = sayHello() console.log(myFriend) //호출했기 때문에 let myFriend 라는 변수에 계속 담기고 있음. 실행은 계속 되고있으나 콘솔로그를 통해 출력을 안했기 때문에 눈에 안보이는거
이번엔 숫자를 더하는 함수를 해보자
function addNumbers(){ return 100+200 } console.log(addNumbers()) //300
이제 300이라는 숫자도 변수에 담고 두번 출력해보자
function addNumbers(){ return 100+200 } addNumbers() console.log(addNumbers()) let addMyNumber = addNumbers() console.log(addMyNumber) //300 300
정말 쉽지않네^^...실습 하나 더
function sayHello3(){ let sentence = 'Hello!' let name = 'Code Kim' return sentence + name } console.log(sayHello3()) //"Hello! Code Kim"
⭐⭐⭐⭐⭐
return은 함수의 output을 반환해주는 기능. 함수에 있어서 중요하다! return은 output이 분명히 있음!! 어떤 output을 변수에 할당하는 것도 가능.
console.log는 단순히 출력하는 기능. 이걸 output이라고 하지 않음.
function TenThousand(){ return 10000 // 아웃풋 반환. } let number2 = TenThousand() //정의 console.log('number2:',number2)//호출 //"number2:" 출력 완. 10000
⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐