본문 바로가기
프로그래밍 및 개발/Javascript

JavaScript 일급 객체로서의 함수 소개, 특징, 예제 코드

by typenine9 2023. 10. 17.
300x250

JavaScript에서 일급 객체로서의 함수

 

javascript logo

 

JavaScript에서 함수는 특별한 역할을 수행하는 일급 객체입니다. 이 글에서는 JavaScript에서 함수가 일급 객체로서 가지는 특징과 그 중요성에 대해 살펴보고, 예시 코드를 통해 이를 이해해보겠습니다.

 

일급 객체란?

 

 

 

 

 

일급 객체의 특징

  • 변수나 데이터 구조에 할당 가능
  • 다른 함수의 인수로 전달 가능
  • 다른 함수의 반환 값으로 사용
  • 가능 동적 프로퍼티 할당 가능

 

JavaScript에서 함수의 일급 객체 특징

 

함수를 변수에 할당

const sayHello = function() {
  console.log('안녕하세요!');
};

sayHello(); // "안녕하세요!" 출력

 

함수를 다른 함수의 인수로 전달

function greet(name, callback) {
  console.log('안녕하세요, ' + name + '!');
  callback();
}

function sayGoodbye() {
  console.log('안녕히 가세요!');
}

greet('Alice', sayGoodbye);
// 출력:
// "안녕하세요, Alice!"
// "안녕히 가세요!"

 

 

일급 함수 - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN

프로그래밍 언어는 해당 언어의 함수들이 다른 변수처럼 다루어질 때 일급 함수를 가진다고 합니다. 예를 들어, 일급 함수를 가진 언어에서 함수는 다른 함수들에 전달인자로 제공되고, 다른 함

developer.mozilla.org

 

함수를 다른 함수의 반환 값으로 사용

function createGreeter(greeting) {
  return function(name) {
    console.log(greeting + ', ' + name + '!');
  };
}

const sayHello = createGreeter('안녕하세요');
sayHello('Alice'); // "안녕하세요, Alice!" 출력

 

동적 프로퍼티 할당

function greet(name) {
  greet.greetings = greet.greetings || [];
  greet.greetings.push('안녕, ' + name + '!');
}

greet('Alice');
console.log(greet.greetings); // ["안녕, Alice!"]

 

일급 객체로서의 함수의 중요성

 

 

함수형 프로그래밍

JavaScript에서 함수를 일급 객체로 취급하는 것은 함수형 프로그래밍의 핵심입니다. 함수형 프로그래밍은 코드를 더 모듈화하고 유지 보수하기 쉽게 만들며, 병렬 처리 및 비동기 작업에 유용합니다.

 

콜백 함수

일급 객체로서의 함수를 이용하여 콜백 함수를 구현할 수 있습니다. 이를 통해 비동기 작업을 다루거나 이벤트 처리를 할 때 유용하게 활용됩니다.

 

끝으로

 

JavaScript에서 함수는 일급 객체로서 다양한 역할을 수행할 수 있으며, 함수형 프로그래밍 및 비동기 작업 처리에서 중요한 역할을 합니다. 함수의 일급 객체 특징을 이해하고 활용하면 코드를 더 모듈화하고 유지 보수하기 쉽게 만들 수 있을 것입니다.

 

▼ 아래 글도 읽어보세요! ▼

 

 

소수점 데이터 시간으로 변환

엑셀 자료를 import 해서 프로그램 dataset에 넣는 작업을 하고 있었다. 엑셀 데이터에는 분명 24시 단위로 잘 적혀 있던 데이터가 import 하고 보니 소수점으로 자꾸 나왔다. 왜 그런가 싶어 자료를 보

typenine9.tistory.com

 

 

파이썬 matplotlib으로 차트(pyplot) 만들 때 한글 깨짐

파이썬 차트 한글 깨짐 파이썬 코드로 차트 출력하는 예시를 확인하려고 코드를 정리하고 돌려봤습니다. 그런데 이게 왠걸. 차트에 한글이 깨져서 나왔습니다. import pandas as pd import matplotlib.pyplot

typenine9.tistory.com

 

 

[python] 파이썬 배치파일 만들기 (pyintaller 활용하여 exe파일 배포)

파이썬 코드로 작성할 걸 공유해야하는 경우가 생겼다. 특정 서버에 설치된 DB에 데이터를 insert 작업하는 코드였는데 코드 자체를 보내기 보다 배치파일로 만들어 실행하게 하면 편하지 않을까

typenine9.tistory.com

 

<