Day15 : 함수 선언의 종류
2023. 11. 27. 14:55ㆍLanguage/JavaScript
함수 표현식
: 변수에 함수를 할당하는 방식
1
2
3
4
|
const sum = function() {
let result = 10+10;
}
|
cs |
함수선언문
: function을 먼저 적고 이 뒤에 함수의 이름이 적힌다.
1
2
3
4
|
function sum() {
let result = 10+10;
}
|
cs |
차이점
- 선언키워드 : 표현식 O / 선언문 X
- 호이스팅의 영향 : 표현식 X / 선언문 O
호이스팅
:위로 끌어올려지는 것
JS는 위에서부터 한줄씩 코드를 읽어내려온다.
브라우저가 자바스크립트를 해석하는 과정에서 선언문으로 작성된 함수는 원래 선언된 위치가 아니라 위쪽으로 끌어올려지게 된다.
1
2
3
4
5
6
|
sum()
function sum() {
let result = 10+10;
}
|
cs |
선언문이 호출보다 아래 있다해도
1
2
3
4
5
6
|
function sum() {
let result = 10+10;
}
sum()
|
cs |
선언문이 호이스팅되어 에러가 나지 않지만
1
2
3
4
5
6
|
sum()
const sum = function() {
let result = 10+10;
}
|
cs |
표현식에서 호출이 우선된다면 표현식은 호이스팅되지 않기때문에
js에서는 sum()이란 함수를 알지 못하므로 에러가 발생한다.
화살표 함수
: function이라는 문자가 빠지고 => 가 들어간다.
메서드 내에 함수를 써야 하는 경우에 많이 사용된다.
1
2
3
4
|
const sum = () => {
let result = 10+10;
}
|
cs |
'Language > JavaScript' 카테고리의 다른 글
Day17 : 비교연산자, 배열과 객체의 비교 (0) | 2023.11.28 |
---|---|
Day16 : localhost란? (2) | 2023.11.27 |
Day14 : 함수의 반환 (2) | 2023.11.24 |
Day13:날짜를 생성하는 new Date (2) | 2023.11.21 |
Day12 : querySelector, input 태그 value값 가져오기 (0) | 2023.11.18 |