๐Ÿ–ฅ๏ธ Language/Core Javascript

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ €์žฅํ• ๊นŒ?

jaeyunim 2023. 1. 29. 18:18

0. ๊ฐ€๋ณ€๊ฐ’๊ณผ ๋ถˆ๋ณ€๊ฐ’ ์„ฑ์งˆ, ๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜

โญ๏ธ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ค‘ ๊ธฐ๋ณธํ˜•์€ ๋ชจ๋‘ ๋ถˆ๋ณ€๊ฐ’ ์„ฑ์งˆ์„ ๋งŒ์กฑํ•œ๋‹ค.

์ด ๋ฌธ์žฅ์„ ์ดํ•ดํ•˜๊ธฐ ์ „์— ๊ฐ€๋ณ€๊ฐ’ = ๋ณ€์ˆ˜, ๋ถˆ๋ณ€๊ฐ’ = ์ƒ์ˆ˜๋ผ๋Š” ๊ฐœ๋…์œผ๋กœ ์˜คํ•ดํ•˜๋ฉด ์•ˆ๋œ๋‹ค๋Š”๊ฒŒ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ธฐ๋ณธํ˜•์—๋Š” number, string, bool.. ๋“ฑ๋“ฑ์ด ์žˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ์ด๊ฒƒ๋“ค์ด ๋ถˆ๋ณ€๊ฐ’์ด๋ผ๋Š”๊ฑด ๋ฌด์Šจ ์†Œ๋ฆฌ์ผ๊นŒ?

์ฝ”๋“œ๋ฅผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ•ด์„ํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๋Š” ๊ณผ์ •์„ ๋ณด๋ฉด ๋‹จ๋ฒˆ์— ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค!


1. ๋ถˆ๋ณ€๊ฐ’ ์ดํ•ดํ•ด๋ณด๊ธฐ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋ฐ์ดํ„ฐ ์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ์™€ ๋ณ€์ˆ˜์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•์ƒ์ด ์ผ์–ด๋‚œ๋‹ค.

var a = 'abc'

 


๋‹น์—ฐํžˆ ์‹๋ณ„์ž์™€ ๊ฐ’์ด ํ•œ๋ฒˆ์— ์ €์žฅ๋  ์ค„ ์•Œ์•˜์ง€๋งŒ ์•„๋‹ˆ์˜€๋‹ค

๋ฐ์ดํ„ฐ๋งŒ ๋“ค์–ด์žˆ๋Š” ์˜์—ญ์„ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด ๊ทธ ์ฃผ์†Œ๋ฅผ ๊ฐ’์œผ๋กœ ์ฐธ์กฐ์‹œํ‚จ๋‹ค.

์ˆœ์„œ์„ ์•Œ์•„๋ณด์ž๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค

  1. ๋ณ€์ˆ˜์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ์— ์‹๋ณ„์ž๊ฐ€ a์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ™•๋ณด
  2. ๋ฐ์ดํ„ฐ์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ์— 'abc'๋ผ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธ
  3. 'abc' ๋ผ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ์— 'abc'์ €์žฅ
  4. ๋ณ€์ˆ˜ ์˜์—ญ์—์„œ a๋ผ๋Š” ์‹๋ณ„์ž ๊ฒ€์ƒ‰ ํ›„ ์‹๋ณ„์ž์— ๋Œ€ํ•œ ๊ฐ’์— ๋ฌธ์ž์—ด์˜ ์ฃผ์†Œ(@5004) ๋Œ€์ž…

์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ๊ฑด 2๋ฒˆ 'abc'๋ผ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฑฐ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์—ฌ๊ธฐ์— var b = 'abc'๋ผ๋Š” ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ?

์ด๋ฏธ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— 'abc'๊ฐ€ ๋‹ด๊ธด ์ƒ์ž๋ฅผ ๊ฐ€๋ฅดํ‚จ๋‹ค.

๋•Œ๋ฌธ์— ๋ณ€์ˆ˜ ์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ์™€ ๋ฐ์ดํ„ฐ ์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ถ„๋ฆฌํ•˜๋ฉด ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ ํšจ์œจ์ด ๋†’์•„์ง„๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ์ด์ œ ๋ณธ๊ฒฉ์ ์œผ๋กœ ๋ถˆ๋ณ€์„ฑ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

var a = 'abc';
a = a + 'def';

console.log(a);

๋‹ค์Œ์˜ ์ถœ๋ ฅ๊ฐ’์€ 'abcdef'๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์œ„์— ๋ฐ์ดํ„ฐ ์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ์—์„œ์˜ 'abc'๊ฐ€ 'abcdef'๋กœ ๋ฐ”๋€๊ฒƒ์ผ๊นŒ?

์•„๋‹ˆ๋‹ค!

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋ฌด์กฐ๊ฑด ์—†๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋‹ค๋ฉด ์ƒˆ๋กœ ๋งŒ๋“ค์–ด ๋ณ„๋„์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ €์žฅํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‹ค์Œ ์ฝ”๋“œ์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๋ฌธ์ž์—ด๋งŒ์ด ์•„๋‹ˆ๋ผ ๊ธฐ๋ณธํ˜• ํƒ€์ž…๋“ค์€ ๋ชจ๋‘ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์›๋ฆฌ๋กœ ์ž‘๋™ํ•œ๋‹ค.

โญ๏ธ์ด๋Ÿฌ์ฒจ ํ•œ ๋ฒˆ ๋งŒ๋“  ๊ฐ’์€ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๊ณ , ์˜ค์ง ์ƒˆ๋กœ ๋งŒ๋“œ๋Š” ๋™์ž‘์„ ํ†ตํ•ด์„œ๋งŒ ๋ณ€๊ฒฝ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ถˆ๋ณ€๊ฐ’์˜ ์„ฑ์งˆ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ํ•˜๋Š”๊ฒƒ์ด๋‹ค.โญ๏ธ

์—ฌ๊ธฐ์„œ ์•Œ์•„์•ผ ํ• ๊ฑด ๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜๋ฅผ ๊ตฌ๋ถ„ ์ง“๋Š”๊ฑด ๋ณ€์ˆ˜ ์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ์ด๊ณ 
๊ฐ€๋ณ€์„ฑ ๋ถˆ๋ณ€์„ฑ์„ ๊ตฌ๋ถ„ ์ง“๋Š”๊ฑด ๋ฐ์ดํ„ฐ ์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ ๋ผ๋Š” ํ–‡๊ฐˆ๋ฆฌ๊ธฐ ์‰ฌ์šด ์—„์ฒญ๋‚œ ์‚ฌ์‹ค์ด๋‹ค


2. ๊ฐ€๋ณ€๊ฐ’ ์ดํ•ดํ•ด ๋ณด๊ธฐ

๋ชจ๋“  ๊ธฐ๋ณธํ˜• ํƒ€์ž…์ด ๋ถˆ๋ณ€์„ฑ์ด๋ผ๋ฉด ๋ชจ๋“  ์ฐธ์กฐํ˜• ํƒ€์ž…์€ ๊ฐ€๋ณ€์„ฑ์ผ๊นŒ?

๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ๊ฐ€๋ณ€๊ฐ’์ด์ง€๋งŒ, ์„ค์ •์— ๋”ฐ๋ผ ๋ถˆ๋ณ€๊ฐ’์œผ๋กœ ํ™œ์šฉ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

๋ถˆ๋ณ€๊ฐ’์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ๊ฑด ๋‚˜์ค‘์— ์•Œ์•„๋ณด๊ณ  ๊ฐ€๋ณ€๊ฐ’์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ์ธ ๊ฐ์ฒด๊ฐ€ ์ €์žฅ๋ ๋•Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ๋‹ค.

var obj1 = {
	a: 1,
    b: 'bbb',
};

 

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

๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ๋ณด์ž

var obj1 = {
	a: 1,
    b: 'abc',
};

obj1.a = 2;

์ฝ”๋“œ์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ณ€ํ™”๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๊ฐ€๋ณ€๊ฐ’๊ณผ ๋ถˆ๋ณ€๊ฐ’์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ถ€๋ถ„์€ ๋ฐ์ดํ„ฐ ์˜์—ญ์ด๋ผ๋Š”๊ฑธ ์•ˆ๋‹ค.

๊ฐ์ฒด์˜ ๊ฐ’์ด ๋ณ€ํ•ด๋„ ๋ฐ์ดํ„ฐ ์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๊ธฐ์กด์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„(@7103 ~ ?)์„ ๊ทธ๋Œ€๋กœ ํ™œ์šฉํ•˜๊ณ  ์žˆ๋‹ค.

๊ธฐ์กด์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ทธ๋Œ€๋กœ ํ™œ์šฉํ•˜๋ฉด์„œ๋„ ๊ทธ ์•ˆ์˜ ๋ณ€์ˆ˜์— ๋‹ค๋ฅธ ๊ฐ’๋“ค์„ ์–ผ๋งˆ๋“ ์ง€ ๋Œ€์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค.

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


์ฐธ๊ณ ์ž๋ฃŒ: [๋„์„œ] ์ฝ”์–ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ