๐Ÿ“ŒLanguage/JavaScript

์›์‹œ ์ž๋ฃŒํ˜•(primitive type)๊ณผ ์ฐธ์กฐ ์ž๋ฃŒํ˜•(reference data type)๋ฅผ ์•Œ์•„๋ณด์ž

hellohailie 2022. 4. 12. 17:50

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

 

์ฒ˜์Œ์— ๋ฐฐ์šธ ๋•Œ const๋กœ ๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ํ›„์— ๊ฐ’์„ updateํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๊ฐ•์˜ ์ค‘๊ฐ„์ค‘๊ฐ„์— const๋กœ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ ๋„ push ํ•จ์ˆ˜๋กœ array์— ์ถ”๊ฐ€๋ฅผ ํ•˜๋Š”๋ฐ์š”! 

 

์ด์œ ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. 

 

์–ด๋ ˆ์ด๋‚˜ ์˜ค๋ธŒ์ ํŠธ ์ž๋ฃŒํ˜•์€ const๋กœ ์„ ์–ธํ•ด๋„ ๋‚ด๋ถ€์˜ ๊ฐ’์„ ํ• ๋‹นํ•˜๋Š”๊ฒƒ์€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Ex) const arr = ["a","b","c"];
arr.push("d"); // arr = ["a","b","c","d"]
๊ทธ๋Ÿฌ๋‚˜ arr = { name : "Kim" } ๊ฐ™์ด ์ž๋ฃŒํ˜• ์ž์ฒด๋ฅผ ์ƒˆ๋กœ ํ• ๋‹นํ•˜๋Š”๊ฒƒ์€ const ํŠน์„ฑ์ƒ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

 


๋” ์ž์„ธํ•œ ์„ค๋ช… ๐Ÿ‘‡

์›์‹œ ์ž๋ฃŒํ˜•(primitive type)๊ณผ ์ฐธ์กฐ ์ž๋ฃŒํ˜•(reference data type)์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์‹œ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”.

์ฐธ์กฐ ์ž๋ฃŒํ˜•์€ ๊ทธ ์ž๋ฃŒ์˜ ์ฃผ์†Œ๋ฅผ ๋“ค๊ณ  ์žˆ๋Š” ๊ฒ๋‹ˆ๋‹ค. const a = [1,2,3,4]; ํ•˜๋ฉด a๋Š” [1,2,3,4]๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๋ฐฐ์—ด์˜ ์‹œ์ž‘์ง€์  ์ฃผ์†Œ๋ฅผ ๋“ค๊ณ  ์žˆ๋Š” ๊ฑฐ์˜ˆ์—ฌ. ์ด ์ƒํƒœ์—์„œ ๋ฐฐ์—ด์— 5๊ฐ€ ์ถ”๊ฐ€ ๋˜๋˜ 6์ด ์ถ”๊ฐ€๋˜๋˜ a๊ฐ€ ์‹œ์ž‘์ง€์ ์˜ ์ฃผ์†Œ๋ฅผ ์ฅ๊ณ  ์žˆ๋Š” ๊ฑด ๋ณ€ํ•˜์ง€ ์•Š๋Š” ์ƒํƒœ์—์„œ ๋ฐฐ์—ด์˜ ๋‚ด์šฉ๋ฌผ๋งŒ ๋‹ฌ๋ผ์ง€๋Š” ๊ฑฐ์˜ˆ์—ฌ. ๋‹ค๋งŒ ์ด๋•Œ a์— ๋“ค์–ด์žˆ๋Š” ์ฃผ์†Œ๋ฅผ ๋ฐ”๊พธ๋ ค๊ณ  ํ•œ๋‹ค? ์ด๊ฒƒ์€ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฉ๋‹ˆ๋‹ค. ๋ง์”€ํ•˜์‹ ๋Œ€๋กœ const๋กœ ์ฆ‰ ์ƒ์ˆ˜๋กœ ์„ ์–ธํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด์ฃ .

 

 

https://developer.mozilla.org/ko/docs/Glossary/Primitive

 

์›์‹œ ๊ฐ’ - ์šฉ์–ด ์‚ฌ์ „ | MDN

JavaScript์—์„œ ์›์‹œ ๊ฐ’(primitive, ๋˜๋Š” ์›์‹œ ์ž๋ฃŒํ˜•)์ด๋ž€ ๊ฐ์ฒด๊ฐ€ ์•„๋‹ˆ๋ฉด์„œ ๋ฉ”์„œ๋“œ๋„ ๊ฐ€์ง€์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ์›์‹œ ๊ฐ’์—๋Š” 7์ข…๋ฅ˜, string, number (en-US), bigint (en-US), boolean, undefined, symbol, ๊ทธ๋ฆฌ๊ณ  null์ด

developer.mozilla.org

 

๋” ๊ณต๋ถ€ํ•˜๋‹ค๊ฐ€ ์ถ”๊ฐ€ํ•  ๋‚ด์šฉ์ด ์žˆ์œผ๋ฉด ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. 

 

๋Œ“๊ธ€์€ ์–ธ์ œ๋‚˜ ํ™˜์˜!