글
자바스크립트에서 delete 연산자
J/Javascript
2014. 3. 19. 16:39
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 (암시적으로 선언되었으므로 지울 수 있음)
'J > Javascript' 카테고리의 다른 글
location.href 와 location.replace() 차이 (0) | 2014.03.19 |
---|---|
자바스크립트 최적화 (반복문) (0) | 2014.03.19 |
자바스크립트에서 이벤트 취소와 전달 취소 (0) | 2014.03.19 |
Enums in Javascript (0) | 2014.03.19 |
Javascript에서 String 여러 줄 (MultiLine)에 쓰기 (0) | 2014.03.19 |