자바스크립트 callback

oasis·2023년 3월 5일
1

JavaScript

목록 보기
2/6
post-thumbnail

- 참고 영상 : 생활코딩

First class citizen


  • 프로그래밍에서 하나의 개념
  • 변수의 값이 될 수 있는 것들은 first class citizen
    - 조건문은 변수의 값이 될 수 없으므로 second class citizen
    • Javascript에서 함수는 변수가 될 수 있으므로 first class citizen
  • 어떤 함수가 다른 함수의 리턴 값이 될 수 있다면 그 언어는 함수를 first class citizen로 대우하는 것

콜백함수

val = function(a) {
  return 3
}

function fn(arg){
	arg();
}

fn(val)
  • val은 바로 실행되지는 않지만 다른 함수에 의해서 호출됨
    --> CALLBACK FUNCTION

예시: filter

words = ['spray', 'limit', 'elite', 'adfaefkjf', 'destruction', 'present'];

// 콜백함수를 소비하는 함수 만들기 
function myfilter(origin, callback) {
  var result = [];
  for(var i=0; i<origin.length; i++){
    var current = origin[i];
    if(callback(current)){
        result.push(current);
    }
  }
  return result;
}

// newWords = words.filter(element => element.length>6);
newWords = myfilter(words, element => element.length>6);
console.log(newWords);

// ['adfaefkjf', 'destruction', 'present']

0개의 댓글