YunHyeong 2022. 5. 17. 11:52

실행 컨텍스트에 대해 설명해주세요.

  •  실행 컨텍스트란 실행 가능한 코드를 형상화 하고 구분하는 추상적인 개념이다. 자바스크립트는 내부적으로 하나의 콜 스택을 가지며 이 콜스택 내에 쌓이는 함수에 대한 정보를 실행 컨텍스트라고 한다.

함수 선언식 방식과 함수 표현식, 화살표 함수 방식의 차이에 대해 설명해주세요.

 

  • 함수 선언식은 가장 기본적인 함수 선언 방식으로, function기호를 앞에 붙임으로써 함수를 선언한다. 함수 표현식은 객체 리터럴을 통해 객체를 생성하듯이 함수를 생성하는 방법이다. 화살표 함수는 es6에서 추가된 함수 선언 방식으로 function기호를 따로 쓰지 않고도 함수를 실행할 수 있다.

익명함수(anonymous functions)는 주로 어떤 상황에서 사용하나요?

 

  • 익명함수는 함수명 대신 변수명에 함수 코드를 저장하는 구현 방식이며, 함수를 재사용 하지 않거나 한번만 사용할 때 사용한다.

고차함수 (High-Order Function)란 무엇인지 설명해주세요.

 

  • 고차 함수는 함수를 인자로 받거나 또는 함수를 반환함으로써 작동 하는 함수를 말한다.

ES6에서 화살표 함수와 일반 함수의 차이는 무엇인가

 

  • 첫번째 차이점으로는 this가 바인딩하는 범위이다. 일반 함수는 함수 내부에서 this라는 객체가 추가되어 함수 내부에서 this가 바인딩 된다. 하지만 화살표 함수의 this는 상위 스코프의 this를 가리킨다. 두 번째는 생성자 함수로 사용 가능 여부다. 일반 함수는 new를 이용하여 생성자 함수 처럼 사용할 수 있지만 화살표 함수는 불가능 하다. 세 번째는 arguments 사용 가능 여부다. 일반 함수 안에서 console.log(arguments)를 하면 인자 값들에는 어떤 것들이 있는지 출력 되지만, 화살표 함수는 에러가 뜬다.

함수와 메서드의 차이점에 대해 알고 계신가요?

 

  • 클래스 내부에 종속되어 있는 함수를 메소드라고 한다.

자바스크립트에서 함수를 정의하는 방법은 몇가지가 있나요?

 

  • 함수 선언식, 함수 표현식, Function 객체를 사용, 익명 함수, 화살표 함수 방식이 있다.

함수를 정의하는 동시에 실행시키는 함수를 즉시 실행 함수라 한다.함수형 프로그래밍이 뭔가요?

 

  • 함수형 프로그래밍은 프로그래밍 패러다임 중 하나로, 자료 처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임이다. 그리고 외부 상태의 변화를 최소화 하는 순수함수를 지향한다.

순수 함수가 뭔가요? 일반 함수와는 어떤 차이가 있죠?

 

  • 순수 함수란 함수형 프로그래밍에서 어떤 외부 상태에 의존하지 않고, 변경되지 않는 즉 부수 효과가 없는 함수를 순수 함수라고 한다. 일반 함수는 조금 더 포괄적인 의미로 비순수 함수도 포함한다. 비순수 함수는 외부 상태에 의존하여 외부의 값을 변환 시킨다.

자바스크립트에서 함수가 일급 객체라면, 일급 객체로 뭘 할 수 있나요?

 

  • 일급 객체란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다. 일급 객체는 변수에 할당을 할 수 있고, 다른 함수를 인자로 전달 받을 수 있다. 또한 다른 함수의 결과로서 리턴될 수 있다. 따라서 함수를 데이터 다루 듯이 다룰 수 있다.