-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[나윤주] sprint4 #139
The head ref may contain hidden characters: "Bascic-\uB098\uC724\uC8FC-m4"
[나윤주] sprint4 #139
Conversation
export const validate = { | ||
errorPlacement: function (e, message) { | ||
const inputFormDiv = e.parentNode; | ||
let errorDiv = inputFormDiv.querySelector('.error-message'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
p4;
요부분은 OR 연산자를 통해서도 조금 더 축약할 수 있을 것 같아요!
const errorDiv = inputFormDiv.querySelector('.error-message') || document.createElement('div');
// OR(||) 연산자는 첫번째 값이 falsy한 경우 두번째 값을 반환합니다.
// 따라서 inputFormDiv.querySelector('.error-message');가 null인경우 자동으로 document.createElement('div'); 를 할당하게 됩니다.
errorDiv.classList.add('error-message');
// classList.add는 클래스명이 없다면 추가하고, 이미 있다면 아무 동작도 하지 않습니다.
따라서 위와 같이 쓰면 아예 if문을 없애볼 수도 있을 것 같아요!
}, | ||
success: function (e) { | ||
const inputFormDiv = e.parentNode; | ||
let errorDiv = inputFormDiv.querySelector('.error-message'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
p4;
요 errorDiv도 재할당되지 않으니, const로 선언해도 될 것 같아요!
minlength: 8, | ||
equalTo: '#password', | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
상수화 시키는 부분을 적용해주셨네요!
이렇게 반복적으로 자주 사용되는 객체의 key나 변수 등을 상수로 관리하는 습관을 들이면
코드 베이스가 거대해지는 상황에서 휴먼에러를 많이 방지할 수 있을 것 같아요!👍
validate.success(input); | ||
return true; | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
p4;
지난번 리뷰에도 남겨드렸는데, 요 부분은 나중에 시간이 될 때 천천히 조금 더 보기 좋게 조건문을 개선해보는 것도 좋을 것 같아요!
|
||
// form 전체에 대한 검증 | ||
export function checkAllInput() { | ||
let formSubmitDone = [...form.querySelectorAll('input')].every(input => input.dataset.valid === 'true'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
앞으로 거의 모든 변수에는 기본적으로 const만 사용하는 연습을 해봐요!
그러다가 정말 let이 필요할 때 그때만 let을 사용하는 습관을 들이면 좋을 것 같아요!
|
||
button.innerHTML = ''; | ||
button.appendChild(toggleIcon); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
굳! 삼항연산자와 변수를 통해 훨씬 이 부분의 코드의 가독성이 좋아진 것 같아요!
|
||
|
||
// 패스워드 보기 | ||
function passwordToggle(e) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
login과 signup에 반복되어 사용되는 요런 함수들은, 천천히 시간 날때마다 공통 함수로 분리하는 연습을 해보면 좋을 것 같아요!
판다마켓
사이트주소: https://pandamarket-momo.netlify.app/
요구사항
기본
로그인
회원가입
심화
스타일 관련
스크린샷
멘토에게