프론트엔드 인터뷰 간단 정리

javascript 정리

  1. es5 와 es6 차이
  2. let, const, var 차이
  3. 스코프란?
  4. 스코프 체인이란?
  5. 호이스팅이란?
  6. 클로저란?
  7. 이벤트 버블링, 캡쳐링, 위임
  8. 오버라이딩, 오버로딩 차이?
  9. argument와 parameter

es5 와 es6 차이

let, const, var 차이

var 함수 스코프, 재할당, 재선언 가능합니다. let, const 블럭 스코프, 재선언 불가합니다. const는 재할당도 불가 let은 재할당 가능합니다.

스코프란?

변수의 유효 범위이다. 전역, 함수, 블록 스코프가 있습니다. 전역 유효범위는 스크립트 전체에서 참조되는 것을 의미하는데, 말 그대로 스크립트 내 어느 곳에서든 참조됩니다. 함수 유효범위는 정의된 함수 안에서만 참조되는 것을 의미하며, 함수 밖에서는 참조하지 못합니다. 블록 스코프는 블록 내에서만 참조되는 것을 의미하며 블록 밖에서는 참조하지 못합니다. 하위에서 상위 스코프의 변수를 접근하는 것을 스코프 체인이라 합니다.

스코프 체인이란?

내부함수에서 상용하는 변수는 자신의 스코프 내에서 변수를 찾아서 없으면 상위 스코프로 찾아서 접근하는것입니다.

호이스팅이란?

말그대로 끌어올림 입니다. 변수의 선언을 스코프의 최상단으로 끌어올려주는것입니다. 예를 들면 함수 내에서 변수를 먼저 로그를 출력하고 그 밑에 부분에 선언을 하면 호이스팅되면서 내부적으로 선언을 해당 함수 스코프의 최상위에서 선언되어 undefined 가 출력 되는것 입니다. let/const선언 변수는 호이스팅되지 않는 것이 아니다. 스코프에 진입할 때 변수가 만들어지지만, 코드 실행이 변수가 실제 있는 위치에 도달할 때까지 액세스할 수 없는 것입니다.

클로저란?

외부함수에서 선언된 변수를 함수 내부에서 사용할 때 클로저가 생겨납니다. 외부 함수안에 리턴 함수를 작성하여 외부 함수를 전역 스코프에서 실행했을때 현재 실행 컨텍스트와 관련 없는 외부 함수의 변수를 참조 하는 함수를 클로저라고 합니다.

Http메소드

GET, POST, PUT, PATCH, DELETE, OPTIONS

이벤트 버블링, 캡쳐링, 위임

상위와 하위 엘리먼트 모두 이벤트가 있을때 발생합니다.

오버라이딩, 오버로딩 차이?

Overloading(메소드 중복정의)과 Overriding(메소드 재정의)

argument와 parameter

Parameter 한글 그대로 번역하면 ‘매개변수’란 뜻이다. 즉, 함수를 정의 할 때 외부로부터 받아들이는 임의의 값을 의미한다. 아래 함수에서 x,y 가 파라미터. Argument 우리말로는 ‘인수’ 라고 번역되는데, 함수를 호출할 때 이 때 사용하게 되는 일련의 값들을 아규먼트라고 부른다. 아래 함수에서 3,4가 아규먼트이다.

파라미터의 값으로 아규먼트 3과 4를 대입하였다라고 말하게된다.

    function f(x,y){
    	return x+y;
    };
    
    f(3,4);