호이스팅 2

[JavaScript] 호이스팅: 변수와 함수의 호이스팅 차이점

자바스크립트에는 호이스팅이라는 개념이 있다. 호이스팅은 코드를 실행하기 전 선언한 변수가 해당 스코프 최상단으로 끌어올려져 실행되는 것을 말한다. function getData() { console.log(greeting); var greeting = 'hi'; } getData(); 이와 같은 코드를 실행하면 어떻게 될까? greeting변수가 console.log 아래에 선언되어있기 때문에 에러가 날 것이라 예상할 수 있지만 var로 선언한 greeting이 최상단으로 끌어올려져 var greeting; console.log(greeting); // undefined greeting = 'hi'; 과 같이 실행되는 것과 동일하다. 변수 할당이 아닌 변수 선언만 최상단으로 끌어올려지기 때문에 값은 un..

JavaScript 2021.12.14

[JavaScript] 익명 함수, 화살표 함수에 대해(함수 선언식과 함수 표현식)

기존의 방식으로 사용하던 함수에는 필요 없는 부분이 많다. 이런 부분을 전부 걷어내고 사용하자는 의도로 만들어진 것이 화살표 함수다. 화살표 함수 화살표 함수에는 =>만 있을 뿐 function키워드나 return키워드, 인수의 괄호, 중괄호가 모두 생략되었다. function getFirstLetter(str) { return str[0]; } 이와 같은 함수를 이름이 함수의 일부분으로 선언되었다는 뜻으로 기명 함수라고 한다. 혹은 아래와 같이 이름이 지정되지 않은 익명 함수를 선언하고 변수에 할당하는 방식도 있다. const getFirstLetter = function () { return str[0]; }; 여기서 화살표 함수를 만들기 위해 function키워드와 인수를 감싸던 괄호를 제거해보자...

JavaScript 2021.12.10