#코딩독학
(기초) 자바스크립트 독학 7일차 _ 함수표현식/함수선언문/함수 화살표
녹지않는얼음
2023. 12. 13. 12:52
함수선언문
fucntion ~
이름이 없는 함수를 만들고(funciton()),
그 이름없는 함수에 변수를 선언(let ~ = function())
--> 함수 표현식
함수선언문 vs 함수표현식
[다른점 : 호출타이밍]
함수 선언문은 전체영역에 대해 커버하지만,
함수 표현식 (let 이후)에 대해서는 순차적으로 실행되어 let이 선언하는 구역에 대해서만 실행
함수선언문은 어디서든 호출 가능
[함수선언문] sayHello(); function sayHello(){ // 함수실행문} -- 동작 |
** 인터프리터 언어(Interpreted Launguage)
위에서 아래로(위 → 아래)로 순차적으로 코드를 실행하는 언어
그러나 함수의 경우, 자바스크립트의 알고리즘으로 인하여 코드상 설정된 모든 함수에 대해 선제적으로 실행
*** 호이스팅(Hoisting)
함수는 실행할 수 있는 영역이 아니라, 전체 영역에 대해 커버
**** 대부분 상황에서는 함수 선언문이 편함.
[화살표 함수] let add = function(num1, num2){ return add+1add2; } 치환 → let add = (num1,num2) => { return num1+num2; }; 실행문이 리턴문이며, 코드 본문이 한줄이므로 대괄호를 중괄호로 변경 가능 let add = (num1,num2) => ( num1+num2; ) 리턴문이 한줄일 경우, 괄호도 생략 가능 let add = (num1,num2) => num1 + num2; 실행문이 리턴문인데, 함수 인수가 하나일 경우, 인수 괄호 생략 가능 let sayHello = name => `Hello, ${name}`; 인수가 없거나, 리턴문에 여러줄의 코드가 있을 경우 괄호 생략 불가 |