[JS] 단항연산자 delete 와 true

또띠·2022년 11월 2일
0
post-thumbnail

단항 연상자 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가 제거된 것을 확인할 수 있었다.


그런데 실수로 한번더 delete sy.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>

분명 like가 사라졌음에도 **true** 를 반환하는것을 보고 엥🙄? 했다.

오류인가 싶어 구글링을 하던 중, Mdn 문서 내 아래와 같은 내용을 발견할 수 있었다.

엄격하지 않는(비엄격) 모드에서는 true를 반환한다고 한다.
그래서 사라졌음에도 true를 계속 반환하고 있었던 것!

그냥 눈으로 스윽 보고 넘어갔으면 몰랐을텐데 직접 쳐보니 몰랐던 부분도 다시 알게 되어 다행이란 생각이 들었다. (휴😅)



🌞Mdn 'delete' 관련 내용: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/delete

profile
✨ 𝑬𝒗𝒆𝒓𝒚𝒕𝒉𝒊𝒏𝒈 𝒄𝒐𝒎𝒆𝒔 𝒕𝒐 𝒉𝒊𝒎 𝒘𝒉𝒐 𝒉𝒖𝒔𝒕𝒍𝒆𝒔 𝒘𝒉𝒊𝒍𝒆 𝒉𝒆 𝒘𝒂𝒊𝒕𝒔. ✨

0개의 댓글