[펌글] javascript delete 연산자(operator)

By | 11월 25, 2011

- 출처 : http://www.lovelgw.com/Blog/237 -

Javascript 에서 DOM 객체를 다루거나 JQuery 를 이용해 다이나믹한 페이지를 작성하려 할때 객체를 변수에 담는 일을 많이 합니다. 여러 DOM객체를 불러 들이고 함수 내부에서 사용을 한 다음에 재 사용하지 않을때 delete 연산자를 이용하여 객체를 제거 해주는 것이 전체적인 속도 및 메모리 사용에 있어서 많은 잇점이 있습니다. 
예를 들어 동적인 페이지를 작성하는 함수에서 내부의 DOM 객체를 ID로 구분해 가져와 변수에 할당을 하고 그 변수를 제거 하지 않은 상태에서 여러번 호출 될경우 메모리의 낭비 및 속도 저하 문제가 생길 수 있습니다. 물론 많은 변수를 할당을 하고 사용을 하지 않을 때 발생을 하는 문제이나 , 속도 및 성능 향상을 위 해 사용하면 좋습니다. 예를 들어 서버에서 받아온 큰 JSON 객체나 , XML데이터를 전역으로 사용할때 또는 전역으로 사용하지는 않지만 재사용을 하지 않을때 해당 객체를 삭제 할때 사용하면 됩니다. 

(용례)

//변수(variable) 제거 

delete 변수명;

//속성(property) 제거
delete 객체.속성;
delete 객체[속성];
delete 객체[인덱스];
delete 연산자를 사용하는데 있어 몇가지 제약은 있습니다. 

1. var 로 선언된 변수는 삭제 할 수 없습니다.
 
2. 사용자가 생성한 객체 및 객체 속성은 삭제 할 수 있으나 내부 객체 , 내부 객체의 속성 들은  
    삭제 할 수 없습니다. 

* 참고

   메모리에서 삭제하고자 하는 대상이 객체일 경우 '변수명 = null' 을 사용해도 된다.

* 참고 링크

자바스크립트 delete 연산자에 대한 고찰

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments