undefined
-
Delete와 Undefined, 그리고 garbage collectorJava Script 2022. 2. 12. 21:34
멘티 님이 궁금해하던 질문에 대답하려고 하다보니 엄청 깊게 들어와 버려서 정리한다! 의도적으로 값이 비어있음을 나타낼 때 사용하는 null은 'null' 이라는 글자의 사이즈만큼만 메모리를 사용한다. 하지만 선언한 후 값을 할당하지 않았음을 뜻하는 undefined는 실제 메모리를 차지한다. (여기부터 흥미롭다) delete 는 피연산자로 지정된 객체의 프로퍼티를 삭제해준다. 그러니까 객체를 통째로 삭제할 수는 없고 해당 프로퍼티만 삭제해주는 것이다. delete가 삭제해준 프로퍼티는 undefined를 값으로 가지며, var 로 정의한 (명시적으로 선언한) 프로퍼티들은 삭제할 수 없다. var hello = { name: 'sj', age: '20', } delete hello.age; // age라는..