์๋ ๊ฒ์๋ฌผ์ ๋ค ์ดํดํ๋ค๋ ๊ฐ์ ์์ ์ฐ๋ ๊ธ์ ๋๋ค.!!
๊ธฐ๋ณธํ ๋ฐ์ดํฐ์ ์ฐธ์กฐํ ๋ฐ์ดํฐ(๋ถ๋ณ์ฑ, ๊ฐ๋ณ์ฑ)
๋ถ๋ณ๊ฐ ๋ณ์์, ์์๋ฅผ ๊ตฌ๋ถํ๋ ์ฑ์ง์ "๋ณ๊ฒฝ ๊ฐ๋ฅ์ฑ" ์ ๋๋ค. ๋ฐ๊ฟ ์ ์์ผ๋ฉด ๋ณ์, ๋ฐ๊ฟ ์ ์์ผ๋ฉด ์์ ์ ๋๋ค. ๋ถ๋ณ๊ฐ๊ณผ ์์๋ฅผ ๊ฐ์ ๊ฐ๋ ์ผ๋ก ์คํดํ๋ฉด ์๋๋ค. ๋ณ์์ ์์๋ฅผ ๊ตฌ๋ถ ์ง๋ "
greenteafrog.tistory.com
๋ณ์ ์ ์ธ๊ณผ ๋ฐ์ดํฐ ํ ๋น
๋ณ์ ์ ์ธ ์๋์ ๊ฐ์ ๋ณ์ ์ ์ธ์ด ๋ปํ๋ ๋ฐ๋ "๋ณํ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ค๋ฉฐ ์ด๋ฆ(์๋ณ์)์ num์ผ๋ก ํ๋ค"๋ ๋ป์ ๋๋ค. var num; ์์ ๊ฐ์ ์ฝ๋๋ฅผ ์ ๋ ฅํด์ ์คํํ๋ฉด ์ปดํจํฐ๋ ์๋์ ๊ฐ์ด ๋ฉ
greenteafrog.tistory.com
๋ณ์ ๋ณต์ฌ ๋น๊ต
var num = 7;
var cloneNum = num
var obj = {
num1: 7,
num2: 'one'
};
var cloneObj = obj;
์์ ๊ฐ์ด ๋ณ์๋ฅผ ๋ณต์ฌํ๋ ๊ณผ์ ์ ๊ธฐ๋ณธํ ๋ฐ์ดํฐ์ ์ฐธ์กฐํ ๋ฐ์ดํฐ ๋ชจ๋ ๊ฐ์ ์ฃผ์(๊ฐ)์ ๋ฐ๋ผ๋ณด๊ฒ๋๋
์ ์์๋
๋์ผํ๊ฒ ๋๊ปด์ง๋๋ค.
๊ธฐ๋ณธํ ๋ฐ์ดํฐ ๋ณต์ฌ์ธ num, cloneNum์ด ๋ฐ๋ผ๋ณด๋ ๊ฐ์ด @3000๋ฒ ์ฃผ์๋ก ๊ฐ๊ณ ,
์ฐธ์กฐํ ๋ฐ์ดํฐ ๋ณต์ฌ์ธ obj, cloneObj์ ๋ฐ๋ผ๋ณด๋ ๊ฐ์ด @3001๋ฒ์ผ๋ก ๊ฐ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ด๋ ๊ฒ ๋ณต์ฌ๊ณผ์ ์ ๊ฐ์ง๋ง ๋ฐ์ดํฐ ํ ๋น ๊ณผ์ ์์ ์ด๋ฏธ ์ฐจ์ด๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ณต์ฌ์ดํ์ ๋์์ ํฐ ์ฐจ์ด๊ฐ
๋ฐ์ ํฉ๋๋ค.
var num = 7;
var cloneNum = num
var obj = {
num1: 7,
num2: 'one'
};
var cloneObj = obj;
cloneNum = 8;
cloneObj.num1 = 14;
์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๊ธฐ๋ณธํ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌํ cloneNum ๋ณ์์ ๊ฐ์ 14๋ก ๋ฐ๊พธ๋ฉด ๊ฐ์ ๊ฐ๋ฅดํค๋ ์ฃผ์๊ฐ @3003์ผ๋ก ๋ฐ๋ ๋ฐ๋ฉด,
cloneObj์ num1 ๊ฐ์ 14๋ก ๋ฐ๊พธ๋ฉด cloneObj์ ๊ฐ์ ๊ฐ๋ฅดํค๋ ์ฃผ์๋ ์ญ์๋ obj์ ๊ฐ์ด ์ฌ์ ํ @3001์ ๊ฐ๋ฅดํค๊ณ ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
num !== cloneNum
obj === cloneObj
๊ฒฐ๊ตญ ์ฐธ์กฐํ ๋ฐ์ดํฐ๋ ์ฌ์ ํ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๋ฐ๋ผ๋ณด๊ณ ์๋ ์ํ์ธ ๊ฒ์ ๋๋ค.
๋๋ถ๋ถ ๊ธฐ๋ณธํ์ ๊ฐ์ ๋ณต์ฌํ๊ณ , ์ฐธ์กฐํ์ ์ฃผ์๊ฐ์ ๋ณต์ฌํ๋ค๊ณ ํ์ง๋ง
์ฌ์ค์ ์ฐ๋ฆฌ๊ฐ ๋ด์๋ ๊ฒ๊ณผ ๊ฐ์ด ์ด๋ค๋ฐ์ดํฐ ํ์ ์ด๋ ๋ณ์์ ํ ๋นํ๊ธฐ ์ํด์๋ ์ฃผ์๊ฐ์ ๋ณต์ฌํด์ผ ํ๊ธฐ ๋๋ฌธ์
๋ชจ๋ ๋ฐ์ดํฐ ํ์ ์ ์ฐธ์กฐํ ์ผ ์ ๋ฐ์์๋ค.
๋ค๋ง ๊ธฐ๋ณธํ ๋ฐ์ดํฐ๋ ์ฃผ์๊ฐ์ ๋ฐ๋ก ๋์ ํ๋ฉฐ, ์ฐธ์กฐํ์ ํ๋ฒ ๊ฑฐ์น๊ธฐ ๋๋ฌธ์ ๋ณ์์ ๋ด๊ฒจ์๋ ๊ฐ๋ฅดํค๋ ์ฃผ์๊ฐ์ด
๋ณํ๊ฑฐ๋ ๋ณํ์ง ์๋ ์ฐจ์ด๊ฐ ์์ต๋๋ค.
์ถ๊ฐ
์์์ ์ฐธ์กฐํ ๋ฐ์ดํฐ์ด ๋ณ๊ฒฝ์ ๊ธฐ๋ณธํ์ฒ๋ผ ๊ฐ ์์ฒด๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์๋,
๋ด๋ถ ํ๋ฌํผํฐ ( cloneObj.num1 )๋ฅผ๋ณ๊ฒฝ ์์ผฐ๋ค, ๊ฐ์ ์กฐ๊ฑด์ธ ๊ฐ์์ฒด๋ฅผ ๋ณ๊ฒฝํ๋ฉด ์ด๋ป๊ฒ ๋๋์ง ๋ณด์.
var obj = {
num1: 7,
num2: 'one'
};
var cloneObj = obj;
cloneObj = {
num1: 14,
num2: 'one'
};
์์ ๊ฐ์ด ์๋ก์ด ๊ฐ์ฒด๋ฅผ ํ ๋นํจ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์๋ก์ด ๊ฐ์ฒด๊ฐ ์ ์ฅ๋๊ณ ๊ฐ์ด ๋ฌ๋ผ์ง๋ค.!
ํต์ฌ!
์ฐธ์กฐํ ๋ฐ์ดํฐ๊ฐ '๊ฐ๋ณ๊ฐ'์ด๋ผ๊ณ ํ ๋ '๊ฐ๋ณ'์ ์ฐธ์กฐํ ๋ฐ์ดํฐ ์์ฒด๋ฅผ ๋ณ๊ฒฝํ ๋๊ฐ ์๋
๋ด๋ถ ํ๋กํผํฐ๋ฅผ ๋ณ๊ฒฝํ ๋๋ง ์ฑ๋ฆฝํ๋ค!!
'๐โ๐จFRONT-END > ๐งฉ JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
for์ foreach (0) | 2023.12.13 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค - ์ง์ฌ๊ฐํ ๋ณ์ฐ๊ธฐ(์๋ฐ์คํฌ๋ฆฝํธ) (0) | 2023.03.02 |
๋ถ๋ณ ๊ฐ์ฒด (0) | 2023.02.16 |
๊ธฐ๋ณธํ ๋ฐ์ดํฐ์ ์ฐธ์กฐํ ๋ฐ์ดํฐ(๋ถ๋ณ์ฑ, ๊ฐ๋ณ์ฑ) (0) | 2023.02.11 |
this์ ์ฉ๋ฒ (1) | 2022.10.27 |