생활코딩 javascript 32강 객체프로퍼티와 메소드

객체에는 데이터를 담을 수있다
문자를 담았지만 배열,숫자 다 담을 수 있다
이제는 객체에 함수를 담아보자!

객체에 함수 담기

coworkers라는 객체에 showAll이라는 메소드를 추가하고 싶다
1번처럼 하게되면 함수가 되게된다

원래 함수 정의하던 방식인 2번과 다르지만
똑같은 뜻이라고 보면 된다

    <script>
    1  coworkers.showAll = function(){
        
      }

    2  function showAll(){
        
      }
    </script>

showAll이라고 하는 함수에 코드를 넣었다
showAll을 하면 coworkers에 있는 각각의 데이터들을 iterate해서
화면에 출력하는 코드 그리고 실행하는 코드를 넣어보자

    <h2>Property & Method</h2>
    <script>
      coworkers.showAll = function(){
        for(var key in coworkers) {
          document.write(key+' : '+coworkers->this변경[key]+'<br>');
        }
      }
      coworkers.showAll();
    </script>

좋은 방법은 아닌데 coworkers라는 이름이 코드안에 있기 때문에
처음 객체의 이름이 바뀌게 된다면 값을 가져오지 못하게 된다
이때는 showAll이라고 하는 함수 안에서 함수가 소속된 객체를 가리키는 약속된 기호
this 라는 걸 써주면 된다
coworkers라는 변수의 이름이 다른 걸로 바뀌어도 this는 자기자신을 가리키기 때문에 영향을 받지않게 된다

이렇게 객체에 소속된 변수의 값으로 함수를 지정할 수 있고
객체에 소속된 함수를 만들수 있다 - 이걸 메소드라고 하고
객체에 소속된 변수(programmer, designer 등)를 프로퍼티라고 부른다
같은것을 부른는 표현들이 맥락마다 조금씩 다르다

좋은 웹페이지 즐겨찾기