Javascript

[Javascript] 함수(1)

mm_스터디 2024. 5. 8. 17:20
728x90
함수선언

 

 function 함수이름 () {

실행하는 코드

 };

 

function music() {

console.log("Lemon");

}

 

실제로 console 확인해 보면 아무런 변화 X

 

WHY? 함수는 선언했다고 바로 실행 X → 함수 호출 필요

 

 

함수호출

 

함수이름 ();

 

소괄호 꼭 같이 써야 함, 안 쓰면 오류

 

함수가 호출하면 프로그램 실행 순서가 함수내부로 이동

 

a;

함수(){

};

b;

 

일 때 실행 순서는 a 함수 b

 

ex 삼각형의 넓이를 구하는 함수

 

function getArea() {

 let width = 10;

 let height = 20;

 let area = (witdh * height) / 2;

 

 console.log(area);

}

 getArea();

 

 

 

인수, 매개변수

 

위의 함수는 고정값을 사용

우리가 그 때마다 바뀌게 넣고 싶으면 인수와 매개변수 사용

 

function getArea(width, height) {

 

 let area = (witdh * height) / 2;

 

 console.log(area);

}

 getArea(10,20);

getArea(30, 20);

getArea(120, 200);

 

인수 : 함수를 호출하면서 전달하는 값

 ex) getArea(10,20);

 

매개변수 : 전달된 인수를 순서대로 저장하는 함수의 특수한 변수

ex) function getArea(width, height

 

 

 

인수와 매개변수를 이용하면 동적으로 함수 이용 가능

 

 

 

 

return

 

함수내에서 return을 사용하면 작성된 값을 반환 → 반환 값(함수 호출의 결괏값))

함수가 리턴을 만나면 그대로 함수 종료

 

function getArea2(width, height) {

let area = width * height;

 

return area;

}

let area1 = getArea2(10, 20);

let area2 = getArea2(20, 30);

console.log(area1);

 

 

중첩함수

 

자바스크립트는 함수 내에 다른 함수 선언 가능

 

function getArea3(width, height) {

 

   function another() {

   console.log("another");

    }

 

another();

let area3 = width * height;

 

return area3;

}

getArea3(10, 20);

 

 

 

return

 

함수 내에서return을 사용하면 작성된 값을 반환 → 반환 값(함수 호출의 결괏값))

함수가 리턴을 만나면 그대로 함수 종료

 

function getArea2(width, height) {

let area = width * height;

 

return area;

}

let area1 = getArea2(10, 20);

let area2 = getArea2(20, 30);

console.log(area1);

 

 

호이스팅

 

뜻 : 끌어올리다

 

자바스크립트의 독특한 기능

 

함수를 미리 호출하고 함수의 식을 뒤에 있어도 오류 없이 잘 실행

  유연하게 프로그램 작성 가능

 

let area1 = getArea2(10, 20);

let area2 = getArea2(20, 30);

console.log(area1);

 

 

function getArea2(width, height) {

let area = width * height;

 

return area;

}

 

함수표현식

 

함수를 변수에 저장하는 것 → 함수를 따로 호출 안 해도 됨

 

let lemon = function muisc() {

console.log(" lemon");

};

 

lemon();

 

선언문이 아니기 때문에 함수이름으로는 부를 수 없음 → 익명함수

또한 호이스팅 불가

 

 

 

 

화살표 함수

 

 기존의 함수식보다 더 간결하게 표현

 

let 변수 = () =>{

  실행할 코드

};

 

화살표 함수가 단순하게 값을 반환할 때는

 

let 변수 = () => 값;

 

으로 축약 가능

 

 

매개변수도 사용 가능

 

let 변수 = ( 매개변수) =>  매개변수 + 값;

console.log(변수 (인수)); 처럼 작성

728x90