-
[JS] 간단한 Javascript 문제Dev/JS 2019. 8. 28. 22:22
Facebook Javascript 커뮤니티에 다음과 같은 문제가 올라왔습니다!
이 그룹에는 Javscript에 대한 흥미로운 글이 많으니 가입하시는 것을 추천드립니당~
const adverb = "Just" name = 'Javascript' const adverb_result = delete adverb const name_result = delete name console.log(adverb_result) // ? console.log(name_result) // ?
정답은 아래와 같습니다!
console.log(adverb_result) // false console.log(name_result) // true
delete
연산자의 특성을 알면 쉬운 문제인데요,delete
연산자는 객체의 프로퍼티(속성) 을 지우는 기능을 가진 연산자 입니다.
그리하여delete
연산을 통해 성공적으로 프로퍼티가 지워졌을 경우에true
, 삭제할 수 없는 경우false
를 반환합니다.
하지만 존재하지 않는 프로퍼티를 삭제할 때에도 true가 반환된다는 특징이 있습니다.아무튼! 위에서
adverb_result
가false
가 나오는 이유는 프로퍼티가 아닌 변수를 지우려고 하여 false가 반환되는 것이고,
키워드를 사용하지 않은name_result
는global
객체의 프로퍼티로 들어가는 것이므로 true가 반환되는 것 입니다.존재하지 않는 프로퍼티를 삭제할 때에도 true가 반환된다는 점이 흥미로운 delete 연산자네요.
그럼 이만 !'Dev > JS' 카테고리의 다른 글
[JS] Node.js v14의 새로운 JS Feature! (0) 2020.05.13 [JS] useEffect에 대한 짧은 가이드 (0) 2019.08.28 [JS]Shallow Compare (0) 2018.07.03 [React.js]Derived State를 언제쓸까? (0) 2018.07.02 [JS] React.js JSX 없이 React 사용하기 (1) 2018.06.03