cording/생활코딩

[Java Script] 객체프로퍼티와 메소드

효기롭다 2022. 3. 14. 17:40
  <body>
    <h1>Object</h1>
    <h2>Create</h2>
    <script>
      var coworkers = {
        "programmer":"egoing",
        "designer":"leezche"
      };
      document.write("programmer : "+coworkers.programmer+"<br>");
      document.write("designer : "+coworkers.designer+"<br>");
      coworkers.bookkeeper = "duru";
      document.write("bookkeeper :"+coworkers.bookkeeper+"<br>");
      coworkers["data scientist"] = "taeho";
      document.write("data scientist : "+coworkers["data scientist"]+"<br>")
    </script>
    <h2>Iterate</h2>
    <script>
      for(var key in coworkers) {
          document.write(key+' : '+coworkers[key]+"<br>");
      }
    </script>
    <h2>Property & Metheod</h2>
    <script>
      coworkers.showAll = function(){
        for(var key in coworkers) {
            document.write(key+' : '+coworkers[key]+"<br>");
        }
      }
      coworkers.showAll();
    </script>

  <body>
    <h1>Object</h1>
    <h2>Create</h2>
    <script>
      var coworkers = {
        "programmer":"egoing",
        "designer":"leezche"
      };
      document.write("programmer : "+coworkers.programmer+"<br>");
      document.write("designer : "+coworkers.designer+"<br>");
      coworkers.bookkeeper = "duru";
      document.write("bookkeeper :"+coworkers.bookkeeper+"<br>");
      coworkers["data scientist"] = "taeho";
      document.write("data scientist : "+coworkers["data scientist"]+"<br>")
    </script>
    <h2>Iterate</h2>
    <script>
      for(var key in coworkers) {
          document.write(key+' : '+coworkers[key]+"<br>");
      }
    </script>
    <h2>Property & Metheod</h2>
    <script>
      coworkers.showAll = function(){
        for(var key in coworkers) {
            document.write(key+' : '+coworkers[key]+"<br>");
        }
      }
      coworkers.showAll();
    </script>

 

이때 coworkers 라는 객체 이름이 바뀌면 결과값을 못가져오는 상황이 발생할수있다. 

이럴때 ShowAll 이라는 함수 안에서 이 함수가 소속되어있는 객체를 가르키는 약속된 기호를 사용해준다. = this

위의 이름이 바뀌어도 this는 자기자신을 가르키기 때문에 상관이 없어진다.