
함수선언문
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}`; 인수가 없거나, 리턴문에 여러줄의 코드가 있을 경우 괄호 생략 불가 |
'#코딩독학' 카테고리의 다른 글
(기초) 자바스크립트 독학 9일차 _ object - method (this 관련) (0) | 2023.12.21 |
---|---|
(기초) 자바스크립트 독학 8일차 _ Object // 복습 필요 (0) | 2023.12.20 |
(기초) 자바스크립트 독학 6일차 _ 함수(function) [복습 필요] (0) | 2023.12.12 |
(기초) 자바스크립트 독학 5일차 _ switch 문 (0) | 2023.12.11 |
(기초) 자바스크립트 독학 4일차 _ 반복문 (0) | 2023.12.10 |