yooniiverse
개발 블로그
yooniiverse
전체 방문자
오늘
어제
  • 분류 전체보기
    • 운영체제
    • 네트워크
    • ~2023.02
      • 외부교육
      • 대외활동
      • 스터디
      • 동아리
      • TIL
      • IT지식
      • 기타
      • 트러블 슈팅
      • 프로그래밍
      • Python
      • Java
      • JS
      • DB(SQL)
      • JSP
      • Spring
      • 기술면접
      • 자바
      • 코딩테스트
      • 자료구조
      • 알고리즘
      • 백준 문제풀이
      • 인공지능
      • 머신러닝
      • 프로젝트
      • 안드로이드 앱개발
      • 웹개발
      • 웹 서비스
      • 웹퍼블리싱
      • Node.js 백엔드 개발
      • CS
      • 1일 1CS지식
      • 운영체제
      • 네트워크
      • 데이터베이스
      • 정보처리기사
      • 도서 리뷰
      • 개발 관련 도서
      • 기타 도서

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
yooniiverse

개발 블로그

~2023.02/JS

값으로서의 함수

2022. 6. 1. 21:45

1. 자바스크립트의 함수


  1. typeof 연산자로 함수의 타입을 확인해보면 function이 리턴된다.
  2. 그러나 자바스크립트의 함수는 엄연히 따지면 객체이다.
  3. 자바스크립트의 함수는 선언 자체로도 값으로 평가될 수 있다. (변수에 함수 선언을 할당하는 함수  표현식 가능)
  4. 변수나 다른 데이터 구조 안에 할당할 수 있고, 다른 함수의 파라미터로 전달될 수 있다. 다른 함수의 리턴값이 될 수도 있다.
  5. 이러한 조건을 모두 만족하는 함수를 일급 함수(First-Class-function)이라고 부른다.

 

 

2. 값으로서의 함수 예제


// 함수 표현식으로 함수 만들기
const sayCodeit = function() {
  console.log('Codeit');
};

sayCodeit();


// 객체 프로퍼티로 함수를 선언해서 메소드 만들기
const codeit = {
  title: 'codeit',
  printTitle: function () {
    console.log('Codeit');
  },
 };
 
 codeit.printTitle();
 
 
 // 배열의 요소로 만들기
 const codeit = [
   function () {
     console.log('Codeit');
   },
 ];
 
 codeit[0]();
  • 모두 콘솔에 Codeit 이라는 문자열이 출력된다.
function getFunction() {
  return function() {
    console.log('Codeit');
  }
}

const printCodeit = getFunction;
printCodeit();
  • getFunction 은 새로운 함수를 리턴하는 고차 함수이다.
  • 위 코드에서는 printCodeit이라는 변수에 getFunction을 그대로 할당했다. 결국 printCodeit은 getFunction과 똑같이 동작한다.
  • printCodeit의 호출 결과는 콘솔에 Codeit이라는 문자열을 출력하는 것이 아니라, 콘솔에 'Codeit'이라는 문자열을 출력하는 함수를 리턴하게 되는 것이다.
  • 당연히 콘솔에는 아무것도 출력되지 않는다.

'~2023.02 > JS' 카테고리의 다른 글

자바스크립트 동작원리  (0) 2022.06.02
자바스크립트에서 this와 Arrow Function  (0) 2022.06.02
AND와 OR 연산 방식  (0) 2022.06.01
스타일 다루기  (0) 2022.06.01
HTML 속성 다루기 예제  (0) 2022.06.01
    '~2023.02/JS' 카테고리의 다른 글
    • 자바스크립트 동작원리
    • 자바스크립트에서 this와 Arrow Function
    • AND와 OR 연산 방식
    • 스타일 다루기
    yooniiverse
    yooniiverse

    티스토리툴바