• 티스토리 홈
  • 프로필사진
    KIMJAVAN
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
KIMJAVAN
  • 프로필사진
    KIMJAVAN
    • 개발 (160)
      • 마크업 언어 (19)
        • HTML (7)
        • CSS (12)
      • 자바스크립트 (85)
        • JavaScript (34)
        • JS Library (6)
        • React (13)
        • threeJS (6)
        • TypeScript (2)
        • Next js (5)
        • Node JS (18)
        • webGL (1)
      • AI (4)
        • chat-gpt (4)
      • flutter (17)
        • dart (11)
        • flutter (6)
      • Sql (3)
      • PHP (4)
      • Python (2)
      • Git (4)
      • vscode (1)
      • 개발 도움 사이트 (7)
      • 작업기록 (1)
      • 오류 모음 (3)
      • 메모장 (7)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • [Node JS] 라우터 - 컨트롤러 - 백엔드 연결
        2024년 01월 10일
        • KIMJAVAN
        • 작성자
        • 2024.01.10.:04
        728x90

        메소드 정의와 객체에서 메소드를 추가하는 것의 차이

         

        submitPost = async ... 같은 방식으로 메소드를 정의하고 basicModel.submitPost = async ... 같은 방식으로 객체에 메소드를 추가하는 것 사이에는 중요한 차이점이 있습니다. 이 두 방식은 코드의 구조와 스코프, 모듈화 방식에서 차이를 보입니다.

        1. 스코프와 구조:
          • submitPost = async ...로 정의하는 경우, submitPost는 현재 스코프(일반적으로는 전역 스코프 또는 현재 모듈의 최상위 스코프)에 함수를 추가합니다. 이 경우 submitPost 함수는 독립적으로 존재하며, 다른 객체나 모듈의 일부가 아닙니다.
          • basicModel.submitPost = async ...로 정의하는 경우, submitPost는 basicModel이라는 객체의 속성(메소드)으로 추가됩니다. 이 경우 submitPost는 basicModel 객체의 일부가 되며, 이 객체를 통해서만 접근할 수 있습니다.
        2. 모듈화와 조직화:
          • 객체에 메소드를 추가하는 방식(basicModel.submitPost = async ...)은 관련 기능들을 하나의 객체 안에 모듈화하여 조직화하는 데 유리합니다. 이는 코드의 가독성과 유지보수성을 높이고, 기능적으로 연관된 메소드들을 그룹화하는 데 도움을 줍니다.
          • 반면, 독립적으로 함수를 정의하는 방식(submitPost = async ...)은 그 함수가 다른 함수나 객체와 연관성이 적을 때 유용할 수 있습니다. 하지만, 여러 함수가 서로 관련되어 있을 경우, 이 방식은 코드의 조직화에 있어서 불리할 수 있습니다.
        3. 재사용성과 확장성:
          • 객체 기반의 접근 방식은 재사용성과 확장성 측면에서 유리합니다. 객체에 새로운 메소드를 추가하거나 기존 메소드를 변경하는 것이 쉽고, 객체 자체를 다른 부분에서 재사용할 수 있습니다.
          • 전역 함수나 독립적인 함수는 특정 스코프나 환경에서만 사용되기 쉽고, 이를 다른 컨텍스트나 객체로 옮기는 것이 더 복잡할 수 있습니다.

        따라서, basicModel.submitPost = async ... 같은 방식은 특히 객체 지향적인 접근이 필요하거나, 여러 관련 기능을 하나의 객체에 묶어 관리하고자 할 때 유리합니다. 이는 코드의 가독성, 조직화, 유지보수성 측면에서 많은 이점을 제공합니다.

        저작자표시 비영리 변경금지 (새창열림)

        '자바스크립트 > Node JS' 카테고리의 다른 글

        [Node JS] try catch / then catch  (0) 2024.01.16
        [Node JS] Router - Controller - Model 연결구조 (post)  (0) 2024.01.16
        [Node Js] 백엔드 config  (0) 2024.01.09
        [node js] 데이터를 body에 담기 POST / 데이터를 url에 담기 GET  (0) 2023.12.29
        [nodeJS] nodemon 설치  (0) 2023.11.13
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바