20230420 JavaScript 면접 스터디

HYEON17·2023년 4월 19일
0

TIL

목록 보기
17/17
post-thumbnail

curry 함수의 예를 들어 줄 수 있나요? 그리고 이 문법은 어떤 이점을 가지고 있나요?

  • currying은 둘 이상의 매개 변수가 있는 함수가 여러 함수로 분리된 패턴으로, 직렬로 호출하면, 필요한 모든 매개 변수가 한 번에 하나씩 누적된다
  • 이 기법은 함수형 스타일로 작성된 코드를 읽고, 합성하기 더 쉬워진 경우 유용할 수 있다
  • 함수를 currying하려면, 하나의 함수로 시작하여, 하나의 매개 변수를 취하는 일련의 함수로 분리해야 한다

spread 문법을 사용할 때의 이점은 무엇이며 rest 문법과 다른 점은 무엇인가요?

spread 문법을 사용할 때의 이점

라이브러리 함수를 사용하지 않고도 배열이나 객체의 복사본을 쉽게 만들 수 있기 때문

rest 문법과 차이점

  1. 사용하는 위치: Spread 문법은 배열이나 객체를 펼쳐서 사용하는 문법으로, 배열이나 객체 리터럴의 내부에서 사용합니다. 반면에 Rest 문법은 함수의 매개변수에서 사용하는 문법으로, 함수의 매개변수 선언에서 사용합니다.

  2. 동작 방식: Spread 문법은 배열이나 객체를 복사하거나 연결하는 등의 작업을 수행하며, 복사본을 만들어 반환합니다. Rest 문법은 함수의 매개변수로 전달된 인자들을 배열로 받아서 사용합니다.

파일 간에 코드를 공유하려면 어떻게 해야하나요?

클라이언트(브라우저 환경)에서는, 변수/함수가 전역 스코프(window)에 선언되어있는 한 모든 스크립트가 이를 참조할 수 있습니다. 또는, 보다 모듈형 접근 방식을 위해 RequireJS를 통해 비동기 모듈 정의(AMD)를 이용합니다.

서버(Node.js)에서 일반적인 방법은 CommonJS를 사용하는 것입니다. 각 파일은 모듈로 취급되며, 변수와 함수를 module.exports 객체에 붙여서 내보낼 수 있습니다.

정적 클래스 멤버를 만드는 이유는 무엇인가요?

정적 클래스 멤버는 클래스의 인스턴스를 생성하지 않고도 클래스 자체에 속한 속성이나 메서드를 호출할 수 있게 해주는 멤버

정적 클래스 멤버를 만드는 이유

공통 데이터나 메서드를 관리하기 위해
인스턴스화 없이도 호출이 가능하므로 코드 구조가 더욱 단순해진다
클래스 레벨의 정보를 보존하기 위해
클래스의 확장성을 높이기 위해

profile
프론트엔드 개발자

0개의 댓글