๐ถ ์์ ๊ฐ
๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๊ฐ
์์ ๊ฐ์ ํ ๋ฒ ์์ฑ๋๋ฉด ๊ทธ ๊ฐ์ ๋ฐ๊ฟ ์ ์์ต๋๋ค. ๋ณ์์ ์๋ก์ด ๊ฐ์ ํ ๋นํ๋ฉด ๊ธฐ์กด ๊ฐ์ด ์์ ๋๋ ๊ฒ์ด ์๋๋ผ ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ฐ์ด ์์ฑ๋๊ณ , ๋ณ์๋ ์ด๋ฅผ ๊ฐ๋ฆฌํต๋๋ค. ์ด๋ฌํ ๋ถ๋ณ์ฑ์ ๋ฐ์ดํฐ์ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํฉ๋๋ค.
var a = 10;
var b = a;
b = 20;
console.log(a); // 10
console.log(b); // 20
๋ฌธ์์ด๊ณผ ๋ถ๋ณ์ฑ
๋ฌธ์์ด์ ๊ฐ ๋ฌธ์๋ง๋ค 2๋ฐ์ดํธ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๋ฐฐ์ด์ฒ๋ผ ์ธ๋ฑ์ค๋ก ์ ๊ทผํ ์ ์์ง๋ง ๋ณ๊ฒฝ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
var str = "Hello";
str[0] = "h";
console.log(str); // "Hello" (๋ณ๊ฒฝ๋์ง ์์)
๊ฐ์ ์ํ ์ ๋ฌ
์์ ๊ฐ์ ๊ฐ์ ์ํ ์ ๋ฌ๋ก ๋ณต์ฌ๋ฉ๋๋ค. ๋ณ์ ๊ฐ ๊ฐ์ด ๋ณต์ฌ๋์ด ๋ ๋ฆฝ์ ์ธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ์ง๋ฏ๋ก, ํ ๋ณ์๋ฅผ ๋ณ๊ฒฝํด๋ ๋ค๋ฅธ ๋ณ์์๋ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค.
var score = 80;
vat copy = score;
score = 100;
console.log(score); // 100
console.log(copy); // 80
๐ถ ๊ฐ์ฒด
๋ณ๊ฒฝ ๊ฐ๋ฅํ ๊ฐ
๊ฐ์ฒด๋ ์ฐธ์กฐ ๊ฐ์ ํตํด ์ ๊ทผํ๋ฉฐ, ํ๋กํผํฐ ๋ณ๊ฒฝ(์ถ๊ฐ, ์์ , ์ญ์ )์ด ๊ฐ๋ฅํฉ๋๋ค. ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๋ ๋ณ์๋ ์ฐธ์กฐ๊ฐ์ ์ ์ฅํ๋ฏ๋ก, ๊ฐ์ฒด๋ฅผ ์ง์ ์์ ํ ๋ ์ฐธ์กฐ๊ฐ์ ๋ณํ์ง ์์ต๋๋ค.
์ฐธ์กฐ์ ์ํ ์ ๋ฌ
๋ณ์์ ๊ฐ์ฒด๋ฅผ ํ ๋นํ๋ฉด ์ฐธ์กฐ ๊ฐ์ด ๋ณต์ฌ๋์ด ์ ๋ฌ๋ฉ๋๋ค. ๋ ๋ณ์๊ฐ ๋์ผํ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ฏ๋ก, ํ๋์ ๋ณ์๊ฐ ๊ฐ์ฒด๋ฅผ ๋ณ๊ฒฝํ๋ฉด ๋ค๋ฅธ ๋ณ์์๋ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
var obj1 = { name: "Alice" };
var obj2 = obj1;
obj2.name = "Bob";
console.log(obj1.name); // "Bob"
์๋ฐ์คํฌ๋ฆฝํธ์์ ์ ๋ฌ๋๋ ๊ฐ์ด ์์ ๊ฐ์ธ์ง ์ฐธ์กฐ ๊ฐ์ธ์ง์ ๋ฐ๋ผ ๊ฐ์ ์ํ ์ ๋ฌ๊ณผ ์ฐธ์กฐ์ ์ํ ์ ๋ฌ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค. ํ์ง๋ง ์๋ฐํ ๋งํ๋ฉด ๊ฐ์ ์ํ ์ ๋ฌ๋ง ์กด์ฌํ๋ฉฐ, ๊ฐ์ฒด์ ์ฐธ์กฐ ๊ฐ์ด ์ ๋ฌ๋ ๋ ์ด๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํด ์ฐธ์กฐ์ ์ํ ์ ๋ฌ์ด๋ผ๋ ํํ์ ์ฌ์ฉํฉ๋๋ค.
'๐ Jero's Review > ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ Deep Dive' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
12์ฅ. ํจ์ (0) | 2025.02.15 |
---|---|
10์ฅ. ๊ฐ์ฒด ๋ฆฌํฐ๋ด (1) | 2025.02.13 |
09์ฅ. ํ์ ๋ณํ๊ณผ ๋จ์ถ ํ๊ฐ (0) | 2025.02.13 |
08์ฅ. ์ ์ด๋ฌธ (0) | 2025.02.12 |
07์ฅ. ์ฐ์ฐ์ (0) | 2025.02.12 |