단항 연상자 delete를 연습하던 중 신기하고 새로운 점을 알게 되었다.
<script>
const sy = {age: 28, name: 'SY', like: 'game'};
delete sy.like
// true를 반환
console.log(sy);
// {age: 28, name: 'SY'}
</script>
우선 sy라는 객체 안에서 like를 제거(delete)를 한 뒤,
console.log를 찍어보면 정상적으로 like가 제거된 것을 확인할 수 있었다.
<script>
const sy = {age: 28, name: 'SY', like: 'game'};
delete sy.like
// true를 반환
console.log(sy);
// {age: 28, name: 'SY'}
delete sy.like
// 또 true를 반환...?
</script>
오류인가 싶어 구글링을 하던 중, Mdn 문서 내 아래와 같은 내용을 발견할 수 있었다.
엄격하지 않는(비엄격) 모드에서는 true를 반환한다고 한다.
그래서 사라졌음에도 true를 계속 반환하고 있었던 것!
그냥 눈으로 스윽 보고 넘어갔으면 몰랐을텐데 직접 쳐보니 몰랐던 부분도 다시 알게 되어 다행이란 생각이 들었다. (휴😅)
🌞Mdn 'delete' 관련 내용: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/delete