ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Javascript foreach와 for문에서의 return문
    배움 2019. 1. 18. 20:11



    지금까지는 forEach문과 for문을 구조적으로 같다고  생각하고 사용하였으나

    (lambda식과 일반식)

    nodejs를 공부하던 중 return을 사용하여 실행중인 함수를 빠져나가려는 상황에서는 람다쪽에서 문제가 발생하는 것이 확인되었다.



        users.forEach((user) =>{

                if(username == user.username && password == user.password){

                    req.session.displayName = user.displayName;

                    return req.session.save(() => {

                         res.redirect('/welcome');

                    });

                }

         });


       

     for(var i =0;i<users.length;i++) {
    
                var user = users[i];
    
                if (username == user.username && password == user.password) {
    
                    req.session.displayName = user.displayName;
    
                    return req.session.save(() => {
    
                        res.redirect('/welcome');
    
                    });
    
                }
    
         }
    
    



     위의 코드에서 return은 위 코드가 몸담고 있는 함수를 빠져나가기 위한 구문이지만 람다식에서는 반복문 안의 내용이 콜백 함수의 형태로 들어가기 때문에 return문을 했을 때 반복문만 빠져나가게 되는 것 같다.

    글쓰기는 정말 힘들다.

Designed by Tistory.