함수형 자바스크립트 프로그래밍 filter 질문있어요 !!!!!!!!

미해결질문
송이준 프로필

자바스크립트 배우고 있는 초보입니다

함수형 자바스크립트 프로그래밍
섹션2 에서 _filter 함수를 만드는 과정인데요.

function _filter(list,predi){

var new_list = [];

for(var i = 0; i < list.length; i++){

if(function(user){return user.age >= 30;}(list[i])){

new_list.push(list[i]);

}

}

return new_list;

}

위 코드에서

function(user){return user.age >= 30;}(list[i])

이 부분이 이해가 안가네요.

이 함수의 작동방식이..

list[i] 가 매개변수 user 로 넘겨지고 곧바로 함수가 실행되어서 list[i].age 를

리턴하는것 맞나요?

IIFE가 아닌 다른 방식의 곧바로 실행되는 함수 형태인가요?

제가 알고있는 IIFE 함수 형태를 사용하면,
if( ( function( list[i] ) {return list[i].age >= 30 ; } )( ) )
이렇게 코드가 작성되야 하는거 아닌가 해서요...

유인동 프로필
유인동 7달 전

함수가 값으로 사용되고 있는 상황에서는 괄호를 감싸지 않아도 실행할 수 있습니다.

var a = function() {} (); 라던지, return function() {} (); 등 입니다.

(function() {} ()) 이것이 되는 것과 같은 방식입니다.

감사합니다.