작성
·
225
0
userSchema.pre('save', (next) => {
var user = this;
if (user.isModified('password')) {
//비밀번호 암호화 시키기
bcrypt.genSalt(saltRounds, function (err, salt) {
if (err) return next(err);
bcrypt.hash(user.password, salt, function (err, hash) {
if (err) return next(err);
user.password = hash;
return next();
});
});
} else {
return next();
}
});
--------------------------------------- 윗부분은 제 코드입니다
7강에서 강사님 코드 userSchema.pre('save', function (next) { } <-을 저는 ->userSchema.pre('save', (next) => { } 으로 하니까 오류가 나더라구요.. 왜 화살표 함수로 인자를 보내면 오류가 날까요 화살표 함수 사용시 {} 안에 return 해야한다는것을 알고 return next() 를했는데도 안되더라구요 ㅠㅠ 알려주세요!
답변 1
1
이곳에 보면
화살표 함수 표현(arrow function expression)은 function 표현에 비해 구문이 짧고 자신의 this, arguments, super 또는 new.target을 바인딩 하지 않습니다.
이렇게 설명이 되어있습니다 ^^
화살표 함수는 자신의 this 를 binding 하지않기에 이러한 현성이 나타납니다 ~ !!
수고하세요 ~ !