모카스터디/JavaScript

함수[선언식, 표현식, 화살표 함수, 콜백 함수]

softmoca__ 2024. 2. 29. 21:58
목차

함수 선언식

function getArea(width,height) {
	let area=width*height;
    return area;
}

 

 

함수 외부에서 선언된 변수는 함수 내부에서 접근이 가능하지만

함수 내부에서 선언된 변수는 함수 외부에서 접근이 불가능하다.

 

함수표현식

let hello =function() {
	return "안녕하세요~~"
}

const helloText= hello();
console.log(helloText);
console.log(hello());

함수도 '값' 이다.

즉, 이름을 지정 안하고 바로 값에 대입해서 사용할 수 있다.

 

화살표 함수

let hello =() => {
	return "안녕하세요~~"
}

const helloText= hello();
console.log(helloText);
console.log(hello());

함수 표현식의 간략버전이며 function키워드 대신  () 뒤에 =>를 작성하면 된다.

 

 

함수의 호이스팅

console.log(getArea(10,20) // 200출력
console.log(hello())       // 에러 발생


function getArea(width,height) {
	let area=width*height;
    return area;
}

let hello =function() {
	return "안녕하세요~~"
}

 

함수 선언식으로 만들어 진것은 실행하기전 호이스팅이 되지만 표현식은 호이스팅이 되지 않는다.

 

 

 

콜백 함수

function checkMood(mood, goodCallback, badCallback) {
  if (mood === "good") {
    goodCallback();
  } else {
    badCallback();
  }
}

function cry() {
  console.log("ACTION :: CRY");
}

function sing() {
  console.log("ACTION :: SING");
}

function dance() {
  console.log("ACTION :: DANCE");
}

checkMood("sad", sing, cry);

 

 

다른 함수에 매개변수로 넘겨준 함수 (함수 표현식을 사용하여 함수를 값에 담는것)