schema.methods와 schema.statics의 차이가 궁금해졌다.
methods는 객체의 인스턴스를 만들어야만 사용이 가능하지만
statics은 객체의 인스턴스를 만들지 않아도 사용이 가능하다.
const temp = new User() 이런 식으로 선언하고 난 뒤
temp.(메서드) 이런 식으로 호출해야만 쓸 수 있는 것이 메서드고
User.(스태틱) 이런 식으로 호출할 수 있는 것이 스태틱이다.
스태틱은 temp.(스태틱)을 형태로도 호출이 가능합니다.
그러면 무조건 static으로 선언해야 하는 것 아니냐는 질문을 할 수 있겠는데, 둘을 구분 짓는 건 오용을 막기 위한 것일 수 있다. 인스턴스가 존재해야만 기능이 원활하게 지원되는 함수인데 static으로 만들어서 프로그래머의 실수로 호출을 해서 발생되는 에러를 미연에 방지하는 것이다. static은 인스턴스와 무관하게 공용적으로 자주 쓰이는 함수가 필요할 때 쓰이는 것 같다.
'🍞 Back-End > Node.js' 카테고리의 다른 글
[Node.js] multer를 이용하여 React 파일 업로드 구현하기 (0) | 2022.12.28 |
---|---|
[Node.js] 로그인, 로그아웃, 회원가입 구현 with MongoDB (0) | 2022.12.24 |
[Node.js] 비밀 정보 보호하기 (github에 올리지 않기) (0) | 2022.12.18 |
[Node.js] 개발 서버 실행과 빌드 (2) | 2022.09.30 |
[Node.js] npm(Node Package Manager) 개요 (0) | 2022.09.30 |