๐ ๋น์ ์ด ์ ์ธํ ๋ณ์๋ ์ค์ค๋ก์๊ฒ ํ ๋น๋ ๊ฐ์ ๋ชจ ๋ฅธ ๋ค.
์ฐ๋ฆฌ๊ฐ ๋ณ์๋ก ์ ์ธํ๊ณ ์ง์ ํ๋ ๋ชจ๋ ๊ฒ์ "์๋ณ์"์ด๋ค.
์๋ณ์๋, ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ฅ๋์ด ์๋ ์ด๋ค ๊ฐ์ ๊ตฌ๋ณ(์๋ณ)ํด ๋ผ ์ ์๋ ๊ณ ์ ํ ์ด๋ฆ์ด๋ค.
์ฆ, ์๋ณ์๋ ๊ฐ์ด ์๋๋ผ ๊ฐ์ด ์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ธฐ์ตํ๋ค.
--> ์์ ํ์ ๊ณผ ๊ฐ์ฒด ํ์ ๋ชจ๋์ ํด๋น๋๋ ๋ด์ฉ์ด๊ธฐ ๋๋ฌธ์ ๊ต์ฅํ ์ค์ํจ
๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์์ ํ์ ์ ๊ฐ์ ๋ณต์ฌํ๊ฒ ๋๋ฉด 1๋๋ 2์ ๊ฐ์ ์ผ์ด ์ผ์ด๋๋ค.
const num = 5;
const copyNum = num;
console.log(num === copyNum) // true
// ์์ ๊ฐ์ ํ ๋นํ ๋ณ์๋ฅผ ๋ค๋ฅธ ๋ณ์์ ํ ๋นํ๋ ๊ฒ์ "๊น์ ๋ณต์ฌ"๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค. (๊ณต์ x)
1. ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋นํ์ฌ ๋ณต์ฌ๋ ๊ฐ์ ์ ์ฅํ๋ค. (ํ ๋น๋ ๊ฐ์ ๊ฐ์ง๋ง ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ ๋ค๋ฅด๋ค)
2. ๋ค๋ฅธ ๊ฐ์ด ํ ๋น๋๊ธฐ ์ ๊น์ง ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ณต์ ํ๋ค. (ํ ๋น๋ ๊ฐ๋ ๊ฐ๊ณ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ ๊ฐ๋ค)
--> ECMAScript์์ ๋ด๋ถ ๋์์ด ์ด๋ป๊ฒ ์ผ์ด๋๋์ง ์ค๋ช ํด๋์ง ์์์ ์ผ๋จ ๊ฐ์
์์ ๋์ผํ ํ์์ผ๋ก ๊ฐ์ฒด ํ์ ์ ๊ฐ์ ๋ณต์ฌํ๊ฒ ๋๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ผ์ด ์ผ์ด๋๋ค.
const obj = {
number : 5
};
const copyObj = obj;
console.log(obj === copyObj) // true
// ๊ฐ์ฒด๋ฅผ ํ ๋นํ ๋ณ์๋ฅผ ๋ค๋ฅธ ๋ณ์์ ํ ๋นํ๋ ๊ฒ์ "์์ ๋ณต์ฌ"๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค. (๊ณต์ x)
์๋ก์ด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋นํ์ฌ ๋ณต์ฌ๋ ๊ฐ์ ์ฃผ์๋ฅผ ์ ์ฅํ๋ค. (ํ ๋น๋ ๊ฐ์ ์ฃผ์๋ ๊ฐ์ง๋ง ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ ๋ค๋ฅด๋ค)
๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ฅ๋๋ ๊ฐ์ด, ์์ ํ์ ์ ๊ฐ ๊ทธ ์์ฒด์ด์ง๋ง,
๊ฐ์ฒด ํ์ ์ ๊ฐ์ ์ฃผ์์ด๊ธฐ ๋๋ฌธ์ ๋น๊ต ์ฐ์ฐ์ ๊ตฌ๋ฌธ์์ ์ฐจ์ด๊ฐ ์๊ธด๋ค.
// ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ฅ๋ ๊ฐ์ ๋น๊ตํ๋ค.
// ์์ ํ์
const name = 'lee';
const holy = 'lee';
console.log(name === holy) // true
// ์๊น์๋ ๊ฐ๊ณ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ฅ๋ ๊ฐ๋ ๊ฐ๋ค.
// ๊ฐ์ฒด ํ์
const nameObj = {
name: 'lee'
};
const holyObj = {
name: 'lee'
};
console.log(nameObj === holyObj) // false
// ์๊น์๋ ๊ฐ์ง๋ง ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ฅ๋ ์ฐธ์กฐ ๊ฐ์ด ๋ค๋ฅด๋ค.
'Front-end > JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๋ฐ์คํฌ๋ฆฝํธ ํ๋กํ ํ์ Prototype (1) (0) | 2022.03.09 |
---|---|
22.02.17 ๋ฉด์ Q & A (0) | 2022.02.18 |
22.02.14 ๋ฉด์ Q & A (0) | 2022.02.14 |
22.02.13 ๋ฉด์ Q & A (0) | 2022.02.13 |
๋ณ์, ํจ์, ํด๋์ค ํธ์ด์คํ ์ ๋ฆฌ (0) | 2021.10.05 |
๋๊ธ