목차
함수 선언식
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);
다른 함수에 매개변수로 넘겨준 함수 (함수 표현식을 사용하여 함수를 값에 담는것)
'모카스터디 > JavaScript' 카테고리의 다른 글
동기와 비동기 [싱글스레드, 논블로킹, Promise, async&await] (0) | 2024.02.29 |
---|---|
비구조화할당, 스프레드 연산자 (0) | 2024.02.29 |
Loops (0) | 2024.02.29 |
자료형과 형 변환 (0) | 2024.02.29 |
변수와 상수[var,let,const 및 호이스팅,스코프] (0) | 2024.02.29 |