함수와 일급 객체

어승준·2023년 10월 9일

JS 스터디

목록 보기
10/26
post-thumbnail

📌 함수형 프로그래밍에 대해서 설명해주세요

  • 함수형 프로그래밍의 몇 가지 원칙
    • 입출력이 순수해야합니다. (순수함수)
    • 부작용(부산물)이 없어야합니다.
    • 함수와 데이터를 중점으로 생각합니다.

입출력이 순수하다는 것은 반드시 하나 이상의 인자를 받고, 받은 인자를 처리하여 반드시 결과물을 돌려주어야한다는 겁니다. 인자를 제외한 다른 변수는 사용하면 안 됩니다. 받은 인자만으로 결과물을 내어야 하죠. 이러한 함수를 순수함수라고 부릅니다.

함수형 프로그래밍에서는 프로그래머가 모든 것을 예측하고 통제할 수 있어야합니다.


📌 함수는 어떤 조건을 만족하기 때문에 일급객체인가요?

  1. 함수를 변수나 데이타에 할당 할 수 있다.
  2. 함수를 인자로 전달 할 수 있다.
  3. 함수를 리턴 할수 있다.

📌 일급 객체, 일급 함수와 고차 함수에 대해 설명해주세요.

  • 일급 객체(First-Class Object)

    • 프로그래밍 언어에서 값으로 다룰 수 있는 객체를 의미합니다.
    • 함수를 변수에 할당하거나 함수의 인자로 전달하고, 함수를 반환하는 등의 작업을 할 수 있어야 합니다.
  • 일급 함수(First-Class Function)

    • 함수를 일급 객체처럼 다룰 수 있는 성질을 가진 함수를 의미합니다.
    • 함수를 변수에 저장하거나 함수를 인자로 전달하고, 함수를 반환하는 것이 가능해야 합니다.
  • 고차 함수(Higher-Order Function)

    • 다른 함수를 인자로 받거나 함수를 반환하는 함수를 가리킵니다.
    • 고차 함수를 사용하면 함수 조합과 추상화를 쉽게 구현할 수 있으며, 함수형 프로그래밍에서 중요한 개념 중 하나입니다.

📌 일급 객체란 무엇인가요?

  1. 변수나 데이터 구조에 할당 가능.
  2. 함수의 인자로 전달 가능.
  3. 함수의 반환값으로 사용 가능.
  4. 동적으로 프로퍼티 할당 가능.
  • 자바스크립트는 함수가 일급 객체로 취급되며, 이로 인해 함수를 변수에 할당하고, 함수를 다른 함수에 전달하며, 함수를 반환값으로 사용할 수 있어 함수형 프로그래밍과 코드 모듈화에 유용합니다.

📌 함수의 arguments 프로퍼티를 배열로 변환할 수 있는 방법에 대해 설명해 주세요.

  • 간접호출 활용 (call 등)
  • Rest파라미터 활용
  • Array.from 메서드 활용
profile
鈍筆勝聰(둔필승총) : '둔한 붓이 총명함을 이긴다' (서툴더라도 기록으로 남기는 것이 사람의 기억보다 훨씬 오래 보전된다) - 정약용

0개의 댓글