-
javascript 함수 선언식, 함수 표현식HTML, CSS, JavaScript 2021. 11. 14. 01:23반응형
댓글 수정 기능을 개선하다 이 개념이 헷갈려 많은 삽질을 하였다.
먼저 함수 선언식은
function name(a) { ... }
이런 식으로 함수를 만들고, 함수 표현식은
let name = function(a) { ... }
이런 식으로 함수를 만든다.
함수 선언식은 예를 들어
func(); function func() { ... }
처럼 함수가 만들어지기 전에 사용해도 문제가 없다. 왜냐하면 자바스크립트 내부적으로 선언식으로 작성된 함수를 먼저 만들어 놓기 때문이다.
하지만 함수 표현식으로 예를 들어
func(); let func = function() { ... }
와 같이 사용하면 오류가 난다. 왜냐하면 이는 func라는 변수를 만들어 그 안에 어떤 특수한 값이 들어간 것처럼 인식하기 때문이다. 변수가 만들어지기 전에 사용했으므로 당연히 오류가 난다.
댓글 수정 기능을 개선하면서 두 방식 모두 사용해봤는데, 선언식으로 작성하는게 가독성이 좋다. 왜냐하면 표현식으로 만들면 스크립트의 맨 위에 모두 만들어 놓아야 하기 때문이다. 단순히 함수를 만들어 사용하려는 목적이라면 선언식이 더 좋을 것 같다.
반응형'HTML, CSS, JavaScript' 카테고리의 다른 글
자바스크립트로 댓글 수정 만들기 (0) 2021.11.13 rest api 활용하기 (0) 2021.11.05 ajax, url 파싱 (0) 2021.09.24 getElementById에서 받은 값 사용법 (0) 2021.09.13