๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ‘‍๐Ÿ—จFRONT-END/๐Ÿงฉ JavaScript

๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ์™€ ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ(๋ถˆ๋ณ€์„ฑ, ๊ฐ€๋ณ€์„ฑ)

by ๋…น์ฐจ๋ง›๊ฐœ๊ตฌ๋ฆฌ 2023. 2. 11.

๋ถˆ๋ณ€๊ฐ’

๋ณ€์ˆ˜์™€, ์ƒ์ˆ˜๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ์„ฑ์งˆ์€ "๋ณ€๊ฒฝ ๊ฐ€๋Šฅ์„ฑ" ์ž…๋‹ˆ๋‹ค.

๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์œผ๋ฉด ๋ณ€์ˆ˜, ๋ฐ”๊ฟ€ ์ˆ˜ ์—†์œผ๋ฉด ์ƒ์ˆ˜ ์ž…๋‹ˆ๋‹ค.

 

 ๋ถˆ๋ณ€๊ฐ’๊ณผ ์ƒ์ˆ˜๋ฅผ ๊ฐ™์€ ๊ฐœ๋…์œผ๋กœ ์˜คํ•ดํ•˜๋ฉด ์•ˆ๋œ๋‹ค.
๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜๋ฅผ ๊ตฌ๋ถ„ ์ง“๋Š” "๋ณ€๊ฒฝ ๊ฐ€๋Šฅ์„ฑ"์€ ๋ณ€์ˆ˜ ์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ ์ด๋‹ค.

๋ฐ˜๋ฉด, ๋ถˆ๋ณ€์„ฑ ์—ฌ๋ถ€๋ฅผ ๊ตฌ๋ถ„ํ•  ๋•Œ์˜ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ์„ฑ์˜ ๋Œ€์ƒ์€ ๋ฐ์ดํ„ฐ ์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ์ด๋‹ค.

 

๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ์ธ 

์ˆซ์ž, ๋ฌธ์ž์—ด , boolean, null, undefined, Symbol์€ ๋ชจ๋‘ ๋ถˆ๋ณ€๊ฐ’์ž…๋‹ˆ๋‹ค.

var num;
num = 'Hello';

num = num + 'World';

var one = 1;
var two = 1;

two = 2;

๋งŒ์•ฝ,

2๋ฒˆ์งธ์ค„์—์„œ ์ €์žฅ๋œ ๋ฌธ์ž์—ด "Hello" ์— "World" ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ผ๊ณ  ํ•˜๋ฉด

"Hello"๊ฐ€ ์ €์žฅ๋œ ๊ณต๊ฐ„ (@3000)์— "HelloWorld" ๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ "HelloWorld" ๋ผ๋Š” ๋ฌธ์ž์—ด์„ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด๋ฐ์ดํ„ฐ ์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ์˜ @3001 ๋ฒˆ์ฃผ์†Œ์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ์ฃผ์†Œ ๊ณต๊ฐ„์— ์ €์žฅํ•˜๊ณ  ๋ณ€์ˆ˜ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐ’ ์˜์—ญ์„ @3001๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ 6๋ฒˆ์งธ์ค„์— one๋ณ€์ˆ˜์— 1์„ ํ• ๋‹นํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฐ์ดํ„ฐ์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋จผ์ € 1์„ ์ฐพ๊ฒŒ๋˜๊ณ 

์—†๋‹ค๋ฉด ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„์— ํ•œ ๊ตฌ์—ญ์— 1์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค,

ํ›„์— 7๋ฒˆ์งธ์ค„ two ๋ณ€์ˆ˜์— 1์„ ์ €์žฅํ•˜๋ ค๊ณ  ํ•˜๋‹ˆ ๋ฉ”๋ชจ๋ฆฌ์—์„œ 1์„ ๋จผ์ € ๊ฒ€์ƒ‰ํ•˜๊ณ  6๋ฒˆ์งธ์ค„์—์„œ ๋ฉ”๋ชจ๋ฆฌ์˜์—ญ์—

์ €์žฅํ•ด๋‘” 1์ด ์žˆ๊ธฐ๋•Œ๋ฌธ์— ๊ทธ ์ฃผ์†Œ๋ฅผ ์žฌํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

๋งˆ์ง€๋ง‰์ค„์—์„œ two ๋ณ€์ˆ˜์— 2๋ฅผ ํ• ๋‹นํ•˜๋ ค๊ณ  ํ•˜๋‹ˆ ๋ฐ์ดํ„ฐ ์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ์—๋Š” 2๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ์šด ์ฃผ์†Œ์— 2๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ทธ์œ„์น˜์˜ ์ฃผ์†Œ๋ฅผ two ๋ณ€์ˆ˜์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ์— ๊ฐ’์œผ๋กœ ์ €์žฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

๊ฒฐ๊ตญ HelloWorld๋ฅผ ๋งŒ๋“ค๋•Œ๋„ Hello๋ฅผ ์ €์žฅํ–ˆ๋˜ 3000๋ฒˆ ๋ฐ์ดํ„ฐ ์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ
3001๋ฒˆ์ฃผ์†Œ์— ์ƒˆ๋กœ ์ €์žฅํ•œ๊ฒƒ์ฒ˜๋Ÿผ,
two ๋ณ€์ˆ˜์— ํ• ๋‹น๋œ ๊ฐ’์„ 1์—์„œ 2๋กœ ๋ณ€๊ฒฝ ์‹œํ‚ฌ๋•Œ๋„ 1์ด ์ €์žฅ๋˜์–ด์žˆ๋˜ ๋ฐ์ดํ„ฐ ์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝ์‹œํ‚จ๊ฒŒ ์•„๋‹ˆ๋ผ
2๋ฅผ ์ƒˆ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ํ• ๋‹นํ–ˆ๋˜๊ฒƒ ์ฒ˜๋Ÿผ ๋ถˆ๋ณ€์„ฑ์„ ๊ตฌ๋ถ„ํ•  ๋•Œ์˜ ์ง€ํ‘œ์ธ ๋ฐ์ดํ„ฐ์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ์—์„œ๋Š” ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜์ง€
์•Š๋Š” ๊ฒƒ์„( ๋ณ€๊ฒฝ ๋˜์ง€ ์•Š๊ณ  ์ƒˆ๋กœ ํ• ๋‹น๋จ ) ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!!
๊ฒฐ๊ตญ ๋ณ€๊ฒฝ์€ ์ƒˆ๋กœ ๋งŒ๋“œ๋Š” ๋™์ž‘์„ ํ†ตํ•ด์„œ๋งŒ ์ด๋ฃจ์–ด์ง€๋ฉฐ, ํ•œ๋ฒˆ ๋งŒ๋“ค์–ด์ง„ ๊ฐ’๋“ค์€ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํŒ…์„ ๋‹นํ•˜์ง€ ์•Š๋Š” ํ•œ ์˜์›ํžˆ ๋ณ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค ( ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํŒ…์— ๋Œ€ํ•ด์„œ๋Š” ์กฐ๊ธˆ๋” ์•Œ์•„๋ณด๋„๋ก ํ•ด์š” )

 

 

๊ฐ€๋ณ€๊ฐ’

์œ„์—์„œ ๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ๋Š” ๋ชจ๋‘ ๋ถˆ๋ณ€๊ฐ’์ด๋ผ๊ณ  ํ–ˆ์œผ๋‹ˆ, ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ๋Š” ๋ชจ๋‘ ๊ฐ€๋ณ€๊ฐ’์ผ๊นŒ?

์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ์˜ ๊ธฐ๋ณธ์ ์ธ ์„ฑ์งˆ์€ ๊ฐ€๋ณ€๊ฐ’์ธ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์ง€๋งŒ ์„ค์ •์—๋”ฐ๋ผ ๋‹ค๋ฅด์ง€๋งŒ ์šฐ์„  ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ์˜ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•˜๋Š” ๊ณผ์ •๋ถ€ํ„ฐ ์•Œ์•„๋ณด์ž

var obj = {
    num1: 1,
    num2: 'one'
};

๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ์™€ ์ฐจ์ด๋Š” ๊ฐ์ฒด์˜ ๋ณ€์ˆ˜ ์˜์—ญ์ด ๋ณ„๋„๋กœ ์กด์žฌํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.

์œ„์˜ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ๊ฐ์ฒด์— ํ• ๋‹น๋œ ์˜์—ญ์€ ๋ณ€์ˆ˜ ์˜์—ญ์ผ ๋ฟ ' ๋ฐ์ดํ„ฐ ์˜์—ญ' ์€ ๊ธฐ์กด์˜ ๋ฉ”๋ชจ๋ฆฌ๊ณต๊ฐ„์„ ๊ทธ๋Œ€๋กœ ํ™œ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋ฐ์ดํ„ฐ ์˜์—ญ์— ์ €์žฅ๋œ ๊ฐ’์€ ๋ชจ๋‘ ๋ถˆ๋ณ€๊ฐ’์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ณ€์ˆ˜์—๋Š” ๋‹ค๋ฅธ ๊ฐ’์„ ์–ผ๋งˆ๋“ ์ง€ ๋Œ€์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ”๋กœ ์ด ๋ถ€๋ถ„ ๋•Œ๋ฌธ์— ํ”ํžˆ ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ๋Š” ๋ถˆ๋ณ€ํ•˜์ง€ ์•Š๋‹ค ( ๊ฐ€๋ณ€๊ฐ’์ด๋‹ค) ๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

var obj = {
    num1: 1,
    num2: 'one'
};

obj.num1 = 2;

์œ„์™€ ๊ฐ™์ด ๋ฐ์ดํ„ฐ ์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ( @3000 )๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒŒ ์•„๋‹Œ ๊ธฐ์กด ๋‚ด๋ถ€์˜ ๊ฐ’๋งŒ ๋ฐ”๋€๋‹ค.

๋ฐ”๋กœ ์ด ๋ถ€๋ถ„ ๋•Œ๋ฌธ์— ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ๋Š” ๊ฐ€๋ณ€๊ฐ’ ์ด๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 

์ฃผ์†Œ๋Š” ์•ˆ๋ฐ”๋€Œ์—ˆ๋Š”๋ฐ ๊ฐ’์€ ๋ฐ”๋€๋‹ค? => ๊ฐ€๋ณ€๊ฐ’!!!
โ€ป ์ฐธ๊ณ ๋กœ, ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ ์ž์ฒด๋ฅผ ๋ณ€๊ฒฝํ•  ๊ฒฝ์šฐ๋Š” ๋ถˆ๋ณ€๊ฐ’์ด๊ณ  ๊ทธ ๋‚ด๋ถ€์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ๋งŒ ๊ฐ€๋ณ€์„ฑ์ด ์„ฑ๋ฆฝ๋œ๋‹ค. 

 

728x90