수업 탐색
커뮤니티로그인
멤버십 등록
가입하고 코드잇 시작하기!
수업 탐색
  • 전체 코스
커뮤니티

스쿨로 목표를 달성해 보세요

전체 코스 보기

개발 관련

    직무 관련

      인터랙티브 자바스크립트브라우저와 자바스크립트종합 정리
      2021년 3월 9일 작성
      profilerank
      엠셀SUN
      #프로퍼티#메소드
      1 답변484 조회

      프로퍼티와 메소드가 다른 건 알겠는데 둘 다 사용하는 방식이 비슷하다보니까 어떤 게 프로퍼티고 어떤 게 메소드인 지 구분이 어려워요.

      어떤 걸 기준으로 판단하면 좋을까요?

      서론

      좋은 질문입니다!

      java 같은 class based OOP 언어와 달리 prototype based programming 인 javascript 는 다소 그 의미가 헷갈릴 수 있습니다.

      애초에 내가 생각했던 인스턴스가 실은 인스턴스가 아니고...사실 다 프로토타입 체인으로 연결되어 있고...

      그러다보니 오브젝트 단위에서 property 랑 method 를 설명하니 헷갈릴만 하답니다.

      여기여기를 참고해보면 다음과 같이 정리됩니다.

      javascript 에서 method 는 함수로 된 property이다.

      그런데 우리가 일반적으로 프로퍼티를 지칭할 때 method 를 제외한 데이터 프로퍼티를 말하므로...(물론 getter setter 와 관련있는 accessor property 도 있습니다.)

      구분해서 이야기를 하게 됩니다.

      본론

      그래서 어떻게 구분하면 좋을까요?

      기본적으로 두가지 방법이 있습니다. 의미로 구분하는 것과 사용방법으로 구분하는 것이지요.

      의미로 구분하기

      property 속성이라면 method 행동 입니다.

      예를 들어 listA 라는 array 가 있을 때, listA.length 는 property 죠? 그렇지만 listA.push(1) 은 method 입니다.

      사용법으로 구분하기

      위에서 javascript method 는 함수로 된 property 라고 언급했습니다. 함수의 가장 큰 특징! callable(호출할수있는) 하다는 것입니다.

      따라서 javascript 에서는 괄호로 함수를 호출하므로 대부분 괄호로 끝나면 method, 없으면 property 라 보아도 무방합니다.

      관련 질문
      인터랙티브 자바스크립트브라우저와 자바스크립트오늘 꼭 해야할 일!
      2020년 12월 19일 작성
      profilerank
      최태환
      #함수
      1 답변103 조회
      인터랙티브 자바스크립트브라우저와 자바스크립트요소 노드 추가하기

      요소 노드 추가

      profilerank
      칼든오박사
      2020년 11월 29일 작성
      profilerank
      칼든오박사
      #요소추가
      2 답변186 조회
      인터랙티브 자바스크립트브라우저와 자바스크립트HTML 속성 다루기 퀴즈
      2021년 6월 23일 작성
      profilerank
      kkong
      #innerhtml
      1 답변24 조회
      https://www.youtube.com/channel/UCCM79CPm2WbBYTRaiNEExbghttps://www.instagram.com/codeit_kr/https://www.facebook.com/codeit.kr/http://pf.kakao.com/_HxcRDMhttps://blog.codeit.kr/
      (주) 코드잇 |
      대표KANG YOUNG HOON, 이윤수 |
      개인정보보호책임자강영훈 |
      대표 번호02-6020-0870 |
      사업자 번호313-86-00797 |
      통신판매업제 2019-서울중구-1034 호 |
      주소서울특별시 중구 청계천로 100 시그니쳐타워 동관 10층 코드잇 |