티스토리 뷰

Languages

JavaScript: delete operator

Korean Eagle 2021. 4. 12. 09:06
728x90

1. 이 내용은 아주 간단한 내용이지만 일반적으로 생각하는 방식과 다르게 동작하기 때문에 메모해 둔다.

 

2. developer.mozila.org에서도 이 operator를 검색하면 언급되는 부분이다.

 

3. delete operator는 메모리의 해지(freeing memory)와는 아무런 상관이 없다.

 

4. JavaScript의 메모리의 해지는 오직 레퍼런스가 하나도 없는 경우에만 garbage collector가 동작하게 된다.

 

5. 다시 말하면 delete는 하나의 객체 내의 속성을 제거해주는 기능을 한다.

  5-1 아래의 간단한 테스트를 보면 delete a를 해도 memory freeing이 발생하지 않는다.

  5-2 같은 객체를 참조하는 b변수는 여전히 해당 객체에 접근할 수 있다.

 

 

728x90
댓글