[JavaScript] 일급 함수

2024. 1. 18. 09:33·Language/JavaScript
반응형

일급 함수는 프로그래밍 언어에서 함수를 값으로 다루는 특성을 가리킵니다. 이는 함수를 변수에 할당하고, 다른 함수의 매개변수로 전달하거나, 함수에서 반환하는 등의 작업을 가능하게 합니다. 일급 함수를 지원하는 언어에서는 함수형 프로그래밍 개념을 효과적으로 활용할 수 있습니다. 자바스크립트, 파이썬, 스칼라, 하스켈 등이 일급 함수를 지원하는 언어 중 일부입니다. 이러한 언어에서는 고차 함수(higher-order functions)를 사용하여 함수를 다루는 데 높은 수준의 편의성을 제공합니다.

 

예시


  1. 함수를 변수에 할당:
    var greet = function(name) {
        console.log("안녕하세요, " + name + "님!");
    };
    
    var sayHello = greet;
    sayHello("홍길동");
    
  1. 함수를 다른 함수의 매개변수로 전달:
    function calculate(a, b, operation) {
        return operation(a, b);
    }
    
    var add = function(x, y) {
        return x + y;
    };
    
    var result = calculate(5, 3, add);
  1. 함수를 다른 함수에서 반환:
    function multiplier(factor) {
        return function(x) {
            return x * factor;
        };
    }
    
    var multiplyByTwo = multiplier(2);
    var result = multiplyByTwo(5);  // 결과는 10
  1. 함수를 익명 함수로 사용:
    var numbers = [1, 2, 3, 4, 5];
    var squaredNumbers = numbers.map(function(x) {
        return x * x;
    });

이러한 예시들은 자바스크립트에서 함수가 일급 함수로 다뤄질 수 있는 몇 가지 방법을 보여줍니다. 함수를 변수에 할당하거나 매개변수로 전달하는 등의 특성으로 인해 자바스크립트에서 함수는 일급 함수라고 불립니다.

 

정리


  1. 함수를 다른 변수처럼 다뤄질 때 일급함수를 가진다고 한다.
  2. 자바스크립트의 Arrow Function은 결국 익명함수를 변수에 저장하여 사용되는데, 이것은 일급함수의 특성을 갖고 있기 때문에 가능한 것이다.
  3. 함수를 값으로 가질 수 있기 때문에 다른 함수의 매게변수로 사용될 수 있다. (이를 콜백함수라 한다.)
반응형
저작자표시 변경금지 (새창열림)

'Language > JavaScript' 카테고리의 다른 글

[JavaScript] 삼항연산자 / 논리연산자 / 단축평가 / Nullish  (0) 2024.01.31
[JavaScript] Class 문법이란?  (0) 2022.12.15
'Language/JavaScript' 카테고리의 다른 글
  • [JavaScript] 삼항연산자 / 논리연산자 / 단축평가 / Nullish
  • [JavaScript] Class 문법이란?
OverFlowBIN
OverFlowBIN
    반응형
  • OverFlowBIN
    OverFlowBIN BE Tech Blog
    OverFlowBIN
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 전체보기
      • Computer Science
      • BE Study
      • MySQL
      • Algorithm
      • Language
        • TypeScript
        • JavaScript
        • Python
        • JAVA
      • Spring Boot
      • Programing Tool
      • Group Study
      • HTTP
      • Node
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Java
    back-end
    이분탐색
    axios
    javascript
    programers
    algorithm
    httpie
    node.js
    Spring
    의존성 주입
    이진검색
    backend
    논리연산자
    Nullish
    MongoDB
    코딩테스트
    python #내장함수 #자료구조
    Google Cloud
    게시판 만들기
    단축평가
    thymeleaf
    app engine
    bootstrap
    동작원리
    백엔드
    기술면접
    일급함수
    spring boot
    일급 함수
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
OverFlowBIN
[JavaScript] 일급 함수
상단으로

티스토리툴바