속성 제거- 06.html

CODEDRAGON Development/JavaScript, jQuery, ...

반응형

속성 제거 

객체의 프로퍼티를 delete연산자를 이용해 즉시 제거할 수 있습니다.

delete연산자는 객체의 프로퍼티를 삭제할 뿐, 객체 자체를 삭제하지는 못합니다.

delete(student.취미);

   

   

소스 코드

// 객체 생성

var student = {};

//객체에 속성 추가

student.name = '홍길동';

student.hobby = '피아노';

student.specialty = '자바';

student.willjob = '프로그래머';

document.write('<br>====================================<br>');

//객체의 메소드 추가

student.toString = function(){        //속성의 명세 호출하기

var msg = '';

for(var key in this){        //this: 객체 안에서 객체 참조

if(key!='toString'){

msg += key + ' : ' + this[key] + '<br>';        

}                                

}

return msg;

};

//출력

document.write(student + '<br>');

   


   

   

소스 코드

document.write('<br> 속성 제거====================================<br>');

//속성 제거

//delete student.hobby; 동일

delete(student.hobby);

document.write(student + '<br>');

   


   

   

   

객체 삭제 시도

delete는 프로퍼티만 제거하고 객체는 제거하지 않습니다.

객체가 삭제되지 않아 student객체의 값이 그대로 출력된 것을 확인할 수 있습니다.

   

  1. //객체 삭제 시도
  2. delete student;
  3. document.write(student + '<br>');

 

   

   

   

   

전체 소스

  1. <html>
  2. <head>
  3. <meta charset="UTF-8">
  4. <title>속성 제거</title>
  5. <script type="text/javascript">
  6.         // 객체 생성
  7.         var student = {};
  8.          
  9.         //객체에 속성 추가
  10.         student.name = '홍길동';
  11.         student.hobby = '피아노';
  12.         student.specialty = '자바';
  13.         student.willjob = '프로그래머';
  14.          document.write('<br>====================================<br>');
  15.                 //객체의 메소드 추가
  16.                 student.toString = function(){  //속성의 명세 호출하기
  17.                         var msg = '';
  18.                  
  19.                         for(var key in this){   //this: 객체 안에서 객체 참조
  20.                                 if(key!='toString'){
  21.                                         msg += key + ' : ' + this[key] + '<br>';       
  22.                                 }                              
  23.                         }
  24.                         return msg;
  25.                 };
  26.                 //출력
  27.                 document.write(student + '<br>');
  28.                  
  29.                 document.write('<br> 속성 제거====================================<br>');
  30.                  
  31.                 //속성 제거
  32.                 //delete student.hobby; 동일
  33.                 delete(student.hobby);
  34.                 document.write(student + '<br>');
  35.                  
  36.                 document.write('<br> 객체 삭제 시도====================================<br>');
  37.                 //객체 삭제 시도
  38.                 delete student;
  39.                 document.write(student + '<br>');
  40.                  
  41. </script>
  42. </head>
  43. <body>
  44.    
  45. </body>
  46. </html>


반응형