---
type: snippet
tags: ['javascript', 'delete']
status: release
ctime: 2025-01-01
mtime: 2025-01-01
---

JavaScript delete 연산자

```js
const obj = { name: 'Alice', age: 25 }
delete obj.age // true

// 존재하지 않는 속성 삭제도 true
delete obj.city // true

// configurable: false는 삭제 불가
const locked = Object.defineProperty({}, 'readOnly', {
  value: 'I cannot be deleted',
  configurable: false,
})
delete locked.readOnly // false

// 전역 변수 삭제 불가
let globalVar = 'exists'
delete globalVar // false

// 배열 요소 삭제 (hole 생성)
let arr = [1, 2, 3]
delete arr[1] // [1, <empty>, 3]
```

- 설정 가능한(configurable) 속성에만 사용
- 배열은 `splice` 권장
