ํฐ์คํ ๋ฆฌ ๋ทฐ
58. ๋ฌด์์ด ์ถ๋ ฅ ๋ ๊น์?
const name = "Lydia";
age = 21;
console.log(delete name);
console.log(delete age);
- A:false,true
- B:"Lydia",21
- C:true,true
- D:undefined,undefined
delete ์ฐ์ฐ์
delete object.property
delete object['property']
delete
์ฐ์ฐ์๋ ๊ฐ์ฒด์ ์์ฑ์ ์ ๊ฑฐํฉ๋๋ค.
์ ๊ฑฐํ ๊ฐ์ฒด์ ์ฐธ์กฐ๋ฅผ ์ด๋์์๋ ์ฌ์ฉํ์ง ์๋๋ค๋ฉด ๋์ค์ ์์์ ํ์ํฉ๋๋ค. (GC์ ์ํด)
์ญ์ ๋ฅผ ํ๋ฉด true
๋ฅผ ๋ฐํ, ์๋๋ฉด false
๋ฅผ ๋ฐํํฉ๋๋ค.
๊ทธ๋ ์ง๋ง ์๋ ๊ฒฝ์ฐ๋ฅผ ๊ณ ๋ คํด์ผ๋ง ํฉ๋๋ค.
- ๋ง์ฝ ์กด์ฌํ์ง ์๋ ์์ฑ์ ์ญ์ ํ๋ ค๊ณ ํ๋ฉด
delete
๋ ์ด๋ ํ ์์ ๋ ์์ดtrue
๋ฅผ ๋ฐํํฉ๋๋ค. - ์ค๋ธ์ ํธ์ ํ๋กํ ํ์
์ฒด์ธ์ ๊ฐ์ ์ด๋ฆ์ ์์ฑ์ด ์๋ค๋ฉด, ์ญ์ ํ์, ์ค๋ธ์ ํธ์ ํ๋กํ ํ์
์ฒด์ธ์ ํตํด ํ๋กํผํฐ๋ฅผ ์ฌ์ฉ ํ ์ ์์ต๋๋ค. (์ฆ,
delete
๋ ์ค์ง ์์ ์ ํ๋กํผํฐ๋ง ์ญ์ ํฉ๋๋ค.) var
๋ก ์ ์ธ๋ ์ด๋ ํ ํ๋กํผํฐ๋ผ๋ ๊ธ๋ก๋ฒ ์ค์ฝํ๋ ํ์ ์ค์ฝํ๋ก๋ถํฐ ์ญ์ ๋ ์ ์์ต๋๋ค.- ๊ฒฐ๊ตญ,
delete
๋ ๊ธ๋ก๋ฒ ์ค์ฝํ์ ์ด๋ค ํจ์๋ ์ญ์ ํ ์ ์์ต๋๋ค. (ํจ์ ์ ์์์ด๊ฑด ํจ์ ํํ์์ด๊ฑด ์ญ์ ๋ถ๊ฐ) - ์ค๋ธ์ ํธ์ ์์ฑ์ผ๋ก ์๋ ํจ์์ธ ๊ฒฝ์ฐ(๊ธ๋ก๋ฒ ์ค์ฝํ๋ฅผ ์ ์ธํ๊ณ )๋
delete
๋ก ์ญ์ ํ ์ ์์ต๋๋ค.
- ๊ฒฐ๊ตญ,
let
๊ณผconst
๋ก ์ ์ธํ ์์ฑ์ ์ด๋ ์ค์ฝํ์ ์ ์๋์ด ์๊ฑด ์ญ์ ํ ์ ์์ต๋๋ค.- Non-configurable ์์ฑ์ ์ญ์ ํ ์ ์์ต๋๋ค. ์ด๊ฒ์
Math
,Array
,Object
์ ๊ฐ์ built-in objects์ ์์ฑ๋ค์ด๋Object.defineProperty()
๊ฐ์ ๋ฉ์๋๋ก ๋ง๋ non-configurable์์ฑ๋ค์ ํฌํจํฉ๋๋ค.
! non-configurable ์์ฑ์ delete
๋ก ์ญ์ ํ ์ ์์ผ๋ฉฐ,false
๋ฅผ ๋ฐํํ ๊ฒ์
๋๋ค.
(*strict mode์์๋ SyntaxError
๋ฅผ ๋ฐ์์ํด).
! var
, let
, const
๋ก ์ ์ธ๋ ๋ณ์๋ non-configurable ์์ฑ์ผ๋ก ๊ตฌ๋ถ๋๋ฉฐ, delete๋ก ์ญ์ ๋ ์ ์์ต๋๋ค.
∴
name ์ ๊ฒฝ์ฐ const
๋ก ์ ์ธ๋ ์ ์ญ๋ณ์์ด๋ฏ๋ก, delete
๋ก ์ญ์ ๋ ์ ์์ => false
๋ฆฌํด
age ์ ๊ฒฝ์ฐ ์ ์ญ๊ฐ์ฒด์ ํ๋กํผํฐ๋ก ์ถ๊ฐ๋์์ผ๋ฏ๋ก, delete
๋ก ์ญ์ ๊ฐ๋ฅ => true
๋ฆฌํด
๋ฌธ์ ์ ์ถ์ฒ : https://github.com/lydiahallie/javascript-questions/blob/master/ko-KR/README-ko_KR.md#58-%EB%AC%B4%EC%97%87%EC%9D%B4-%EC%B6%9C%EB%A0%A5-%EB%90%A0%EA%B9%8C%EC%9A%94
ํด๋ต์ ์ถ์ฒ : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/delete
'๊ณต๋ถ > JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] N๊ฐ์ length ๋ฅผ ๊ฐ์ง array์ ๊ฐ ์ฑ์ฐ๊ธฐ (0) | 2020.07.12 |
---|---|
[JS] ์ ๋ ํฐ๋ฅผ ์ฌ์ฉํ์ฌ DOM์์๋ฅผ ์ ํํ ์ ์๋ ๋ฐฉ๋ฒ๋ค (0) | 2020.07.11 |
[JS] ์์ฑ์ํจ์์ return ๊ฐ (0) | 2020.07.06 |
[JS] forEach, for in, for of (์์์ Array empty ์์ ์ํ) (2) | 2020.07.06 |
[JS] String.slice() ์ String.substring() ๋น๊ต (0) | 2020.07.02 |
- ์ฝ๋ฉ๋ถํธ์บ ํ
- Stash
- ๋ถํธ์บ ํ
- GIT
- VSC
- DOM
- array
- eslint
- js
- HTML
- stackoverflow
- review
- book
- ์์ฑ์ํจ์
- css
- ๋ฐ๋๋ผ์ฝ๋ฉ
- string
- eventlistener
- ๋ฐ๋๋ผ์ฝ๋ฉ ํ๊ธฐ
- KEYBOARD
- Total
- Today
- Yesterday