์ƒˆ์†Œ์‹

Languages/Java Script

[Js] ๋ฐ์ดํ„ฐ ํƒ€์ž… | ๋ ˆํผ๊ฐ์ฒด | ์›์‹œ ๋ฐ์ดํ„ฐ ํƒ€์ž… | ๊ฐ์ฒด ๋ฐ์ดํ„ฐ ํƒ€์ž…

  • -
๋ฐ˜์‘ํ˜•

ํ•ด๋‹น ํฌ์ŠคํŒ…์€ "์ƒํ™œ์ฝ”๋”ฉ"์˜ ์ด๊ณ ์ž‰ ๋‹˜์˜ ๊ฐ•์˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์˜ฌ๋ฆฐ ๊ฒŒ์‹œ๊ธ€ ์ž…๋‹ˆ๋‹ค.

์ƒ์—…์ ์ธ ์šฉ๋„๊ฐ€ ์•„๋‹Œ, ๊ฐœ์ธ ๊ณต๋ถ€ ์ •๋ฆฌ ๋ชฉ์ ์œผ๋กœ ์˜ฌ๋ฆฌ๋Š” ๊ธ€์ž„์„ ๋ฏธ๋ฆฌ ์•Œ๋ฆฝ๋‹ˆ๋‹ค.

 




 

์›์‹œ ๋ฐ์ดํ„ฐ ํƒ€์ž…(๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…)

๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋ž€ ๋ฐ์ดํ„ฐ์˜ ํ˜•ํƒœ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ํฌ๊ฒŒ ๋‘๊ฐ€์ง€๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ์ฒด์™€ ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๊ฒƒ.

 

๊ทธ๋Ÿผ ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๊ฒƒ์€ ๋ฌด์—‡์ผ๊นŒ?

 

  • ์ˆซ์ž
  • ๋ฌธ์ž์—ด
  • ๋ถˆ๋ฆฌ์–ธ(true/false)
  • null
  • undefined

๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์›์‹œ ๋ฐ์ดํ„ฐ ํƒ€์ž…(primitive type)์ด๋ผ๊ณ  ํ•œ๋‹ค.

๊ทธ ์™ธ์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ํƒ€์ž…๋“ค์€ ๊ฐ์ฒด๋‹ค. ์ฆ‰ ๊ฐ์ฒด๋ฐ์ดํ„ฐ ํƒ€์ž…(์ฐธ์กฐ ๋ฐ์ดํ„ฐ ํƒ€์ž…)์ด๋‹ค.

 

๋ ˆํผ ๊ฐ์ฒด

์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ๋ณด์ž.

<script> var str = 'coding'; //str = new String('coding'); ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ์‚ฌ์‹ค ์žˆ๋Š” ๊ฒƒ! console.log(str.length); // 6 console.log(str.charAt(0)); // "C" </script>

์œ„ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๋ฉด ์ด๊ฒƒ์€ ๋ฌธ์ž์—ด์ด๊ธฐ ๋•Œ๋ฌธ์— ์›์‹œ๋ฐ์ดํ„ฐ ์ด๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ์ฒด์˜ ํ˜•ํƒœ๋ฅผ ๋„๊ณ  ์žˆ๋‹ค.

. ์ด ์˜๋ฏธํ•˜๋Š” ๋œป์€ Object access Operator๋กœ ๊ฒฐ๊ตญ ๊ฐ์ฒด๋ฅผ ์ด์–ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ, ๋ฉ”์†Œ๋“œ๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

๋ฌธ์ž์—ด๊ณผ ๊ฐ™์€ ์›์‹œ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ๊ฐ์ฒด๋กœ์จ ์‚ฌ์šฉํ•  ๋•Œ ์ž„์‹œ๋กœ ๊ฐ์ฒด๋กœ ๋งŒ๋“ค์–ด ์ค€๋‹ค.

 

๋ฌธ์ž์—ด์€ ๋ถ„๋ช…ํžˆ ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๊ฐ์ฒด๋‹ค.

 

๊ทธ๋Ÿฐ๋ฐ ์™œ ๋ฌธ์ž์—ด์ด ๊ฐ์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ๊ณ  ํ• ๊นŒ?

 

๊ทธ๊ฒƒ์€ ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฌธ์ž์—ด์ด ์›์‹œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๊ณ  ๋ฌธ์ž์—ด๊ณผ ๊ด€๋ จ๋œ ์–ด๋–ค ์ž‘์—…์„ ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ž„์‹œ๋กœ ๋ฌธ์ž์—ด ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ  ์‚ฌ์šฉ์ด ๋๋‚˜๋ฉด ์ œ๊ฑฐํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ด๋Ÿฌํ•œ ์ฒ˜๋ฆฌ๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ์ผ์–ด๋‚œ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ชฐ๋ผ๋„ ๋œ๋‹ค.

 

 

ํ•˜์ง€๋งŒ ์›์‹œ ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ๊ฐ์ฒด๋Š” ์ข€ ๋‹ค๋ฅธ ๋™์ž‘ ๋ฐฉ๋ฒ•์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋“ค์„ ๋ถ„๋ณ„ํ•˜๋Š” ๊ฒƒ์€ ๊ฒฐ๊ตญ์—” ํ•„์š”ํ•˜๋‹ค.

 

<script> var str = 'coding'; str.prop = 'everybody'; //์—๋Ÿฌ๊ฐ€ ๋œจ์ง€ ์•Š์Œ. ์ด๊ฒƒ์ด ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์€ ๋ฌธ์ž์—ด์„ ๊ฐ์ฒด์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•œ๋‹ค๋ฉด //์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋ฌธ์ž์—ด์„ ๋‚ด๋ถ€์ ์œผ๋กœ ๊ฐ์ฒดํ™” ์‹œํ‚ค๋Š” ๊ฒƒ์ด๋‹ค. console.log(str.prop); // undefined ํ•˜์ง€๋งŒ ์ •์ž‘ ๊ฐ€์ ธ์˜ค๋ ค ํ•˜๋ฉด ์ •์˜๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค. //์ฆ‰ ์ˆœ๊ฐ„์— ๊ฐ์ฒด๊ฐ€ ์ƒ๊ธฐ์ง€๋งŒ ์‚ฌ์šฉํ•˜๋ ค ํ•˜๋ฉด ์‚ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์— ์—†๋Š”๊ฒƒ๊ณผ ๊ฐ™๋‹ค. </script>

str.prop๋ฅผ ํ•˜๋Š” ์ˆœ๊ฐ„์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด๋ถ€์ ์œผ๋กœ String ๊ฐ์ฒด๊ฐ€ ๋งŒ๋“ค์–ด์ง„๋‹ค.

 

prop ํ”„๋กœํผํ‹ฐ๋Š” ์ด ๊ฐ์ฒด์— ์ €์žฅ๋˜๊ณ  ์ด ๊ฐ์ฒด๋Š” ๊ณง ์ œ๊ฑฐ ๋œ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— prop๋ผ๋Š” ์†์„ฑ์ด ์ €์žฅ๋œ ๊ฐ์ฒด๋Š” ์กด์žฌํ•˜์ง€ ์•Š๊ฒŒ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ํŠน์ง•์€ ์ผ๋ฐ˜์ ์ธ ๊ฐ์ฒด์˜ ๋™์ž‘ ๋ฐฉ๋ฒ•๊ณผ๋Š” ๋‹ค๋ฅด๋‹ค.

 

ํ•˜์ง€๋งŒ ๋ฌธ์ž์—ด๊ณผ ๊ด€๋ จํ•ด์„œ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ฑ์„ ๊ฐ์ฒด์ง€ํ–ฅ์ ์œผ๋กœ ์ œ๊ณตํ•ด์•ผ ํ•˜๋Š” ํ•„์š” ๋˜ํ•œ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์›์‹œ ๋ฐ์ดํ„ฐ ํ˜•์„ ๊ฐ์ฒด์ฒ˜๋Ÿผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ์ฒด๋ฅผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ œ๊ณตํ•˜๊ณ  ์žˆ๋Š”๋ฐ ๊ทธ๊ฒƒ์ด ๋ ˆํผ๊ฐ์ฒด(wrapper object)๋‹ค.

 

๋ ˆํผ๊ฐ์ฒด๋กœ๋Š” StringNumber, Boolean์ด ์žˆ๋‹ค. null๊ณผ undefined๋Š” ๋ ˆํผ ๊ฐ์ฒด๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

 

๊ฒฐ๊ตญ ์›์‹œ ๋ฐ์ดํ„ฐ๋Š” ๊ฐ์ฒด๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์›๋ž˜ ๊ฐ์ฒด์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์ง€๋งŒ

"๋ ˆํผ๊ฐ์ฒด" ๋•๋ถ„์— ์œ„์—์„œ ์‚ฌ์šฉํ–ˆ๋˜ ๋ชจ๋“  ๊ฒƒ์ด ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ด๋‹ค.

 

 

๋งˆ์ง€๋ง‰์œผ๋กœ ๋‹ค์‹œ ํ•œ๋ฒˆ ์‚ดํŽด๋ณด์ž. ๋’ค์— ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋œ ๋ถ€๋ถ„์ด ๋ฐ”๋กœ "๋ ˆํผ๊ฐ์ฒด"์ธ๊ฒƒ์ด๋‹ค.

  • ์ˆซ์ž Number
  • ๋ฌธ์ž์—ด String
  • ๋ถˆ๋ฆฌ์–ธ(true/false) Boolean
  • null  ์กด์žฌ x
  • undefined  ์กด์žฌ x

์กด์žฌ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ๋“ค์€ : null.prop = 'haeun' ์ด๋Ÿฐ์‹์œผ๋กœ ์ž‘์„ฑ ์‹œ ํƒ€์ž…์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค.

๋ฐ˜์‘ํ˜•
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.