-
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문을 했을 때 반복문만 빠져나가게 되는 것 같다.
글쓰기는 정말 힘들다.
'배움' 카테고리의 다른 글
[후기]파이콘 Pythonic한 코드가 효율적일까? (0) 2020.10.05 멀티쓰레딩을 통한 최적화 경험 기록 (0) 2019.01.31