JavaScript에서는 삭제 연산자를 사용하여 객체의 속성을 삭제할 수 있습니다.
이 속성 삭제 작업의 제한 사항은 삭제 연산자가 객체 자체의 모든 속성만 삭제할 수 있고 프로토타입 객체에서 상속된 속성은 삭제할 수 없다는 것입니다. 프로토타입 객체의 속성을 삭제하려면 프로토타입 객체를 명시적으로 얻은 다음 프로토타입 객체에서 작업을 수행해야 합니다.
프로토타입 객체의 속성이 삭제되면 프로토타입 객체에서 상속되는 모든 객체가 영향을 받습니다.
삭제 작업의 반환 값에 대해 JavaScript는 다음 규칙을 따릅니다.
1. 삭제 작업이 성공하면 true를 반환합니다.
2. 삭제 작업이 효과가 없는 경우(예: 삭제할 속성이 존재하지 않는 경우)에도 true를 반환합니다.
3. 구성 가능한 속성이 false인 속성을 삭제하려는 경우 엄격 모드에서는 TypeError 오류가 보고되고 비엄격 모드에서는 false가 반환됩니다.
삭제 연산자가 전역 개체의 속성에 대해 작동하는 경우 비엄격 모드에서는 코드의 전역 개체를 생략할 수 있습니다.
엄격 모드에서는 위의 작성 방법으로 인해 SyntaxError가 발생한다는 점에 유의해야 합니다.