본문 바로가기

웹 엔지니어 면접 질문/HTML, CSS and Javascript3

함수 선언문과 함수 표현식의 차이 이 글에선 함수 선언문과 함수 표현식의 차이점을 간단하게 살펴본다. *호이스팅에 대한 배경지식이 요구됩니다. https://cuziam.tistory.com/entry/Hoisting이란-핵심만-알고가자 Hoisting이란? 핵심만 알고가자 호이스팅이 무엇이고, 언제 발생하는지 예시코드를 통해 알아본다. 그리고 호이스팅이 문제가 되는 지점에 대해서도 알아본다. 인터넷에서 프론트엔드 면접 자료를 찾아보면, 호이스팅에 관한 cuziam.tistory.com 일단 이 둘은 함수를 정의하는 법이라는 점과 함수 리터럴을 이용한다는 점에서 동일하다. 함수 리터럴의 형식 함수 리터럴은 function 키워드, 함수 이름(생략가능), 매개 변수 목록, 함수 몸체로 이루어져 있다. 함수 리터럴은 사용되는 형태(문맥)에 .. 2023. 5. 1.
var, let, const의 차이점 간결하게 요약! var, let, const의 차이점에 대해서 예시코드와 함께 간결하게 정리했다. 이 내용도 프론트엔드 엔지니어를 준비하는 사람에겐 단골질문으로 나온다고 한다. var, let, const는 크게 보면 스코프, 재선언의 가능 여부, 재할당의 가능 여부, 호이스팅 이렇게 4가지 부분에서 차이점이 있다. 1. 스코프의 차이 var은 함수 스코프를, let과 const는 블록스코프를 가진다. function testScope() { var a = 1; let b = 2; const c = 3; if (true) { var a = 4; //위에서 선언된 a와 동일한 스코프 let b = 5; //위에서 선언된 b와 다른 스코프 const c = 6;//위에서 선언된 c와 다른 스코프 console.log("in.. 2023. 5. 1.
Hoisting이란? 핵심만 알고가자 호이스팅이 무엇이고, 언제 발생하는지 예시코드를 통해 알아본다. 그리고 호이스팅이 문제가 되는 지점에 대해서도 알아본다. 인터넷에서 프론트엔드 면접 자료를 찾아보면, 호이스팅에 관한 것은 단골 질문으로 자주 출제된다고 한다. *실행 컨텍스트, 렉시컬 환경, 스코프, var let const의 차이점에 대한 질문도 연계되어 나올 가능성이 높다. 하지만 이 글은 그 부분까진 다루지 않고 호이스팅의 핵심부분만 다루려고 한다. 해당 주제들은 따로 글을 만들어서 다루려고 한다. Question 1: 호이스팅이 무엇인가요? Hoist의 원래 의미는 ‘(밧줄 혹은 장비 등으로) 끌어올리다.’라는 뜻이다. 원래의 의미와 유사하게, 자바스크립트에서 호이스팅(hoisting)은 변수나 함수의 선언이 코드의 최상단으로 끌어.. 2023. 4. 28.