return -> true, false

* 모든 변수나 프로퍼티를 삭제 할 수 없다. 즉, 객체 자체는 삭제 할 수 없으나 객체의 프로퍼티는 삭제 할 수 있다는 것이다.

ex) var o = {x:1, y:2};

delete o.x; // 객체 프로퍼티 중 하나 삭제

delete o; // 선언된 변수는 삭제 할 수 없다.

typeof o.x; // 존재하지 않는 프로퍼티 "undefined" 반환

delete o.x; // 존재하지 않는 프로퍼티 삭제 true

* 암시적으로 선언된 변수를 지울 때는 delete 연산자를 사용 할 수 있지만, 단 var 문장을 이용해서 선언된 변수는 지울 수 없다.

x = 42; 

delete x 할 경우,

 return true;

( 암시적으로 선언된 변수는 지울 수 있음)

 

var y = 43;

delete y 할 경우,

return false (var로 선언한 변수는 지울 수 없음)

 

delete Math.PI;

return false (미리 정의된 속성은 지울 수 없음)

myobj = new Number(); myobj.h = 4;

delete myobj.h; // 사용자정의 속성은 지울 수 있음.

delete myobj; // return true (암시적으로 선언되었으므로 지울 수 있음)

 

설정

트랙백

댓글