일급시민이라 함은 생성된 변수에 값을 집어넣을 수 있을때를 말한다.
생성된 변수에 함수를 넣을 수 있으므로 함수는 일급시민이다.
함수 val은 함수 fn()의 return 값이 되어 있다.
함수가 다른 함수를 리턴해줄 수 있다면 그것은 일급시민이다.
함수 val은 함수 fn()의 입력값이 되어 있다.
함수가 다른 함수의 입력값이 될 수 있다면 그것은 일급시민이다.
즉 val은 다른 함수에 입력값으로 전달되어 다른 함수에 의해서 나중에 호출된다. 이것을 콜백 함수라고 부른다.
filter 함수를 이용해보자. 먼저 filter 함수에는 조건이 필요하다. 그 조건을 function callback(element) 로 만들어본다. element는 words의 각각의 요소를 뜻한다.
그 후 function의 이름을 없앤 후 callback자리에 넣어준다.
그리고 function을 없애고 화살표 함수로 표시할 수도 있다.