๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•
SMALL

Language/Javascript26

[Javascript]์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Immutable Object ์™„๋ฒฝ ๊ฐ€์ด๋“œ: ์„ฑ๋Šฅ ํ–ฅ์ƒ๊ณผ ๋ถˆ๋ณ€์„ฑ ์œ ์ง€ ๋น„๋ฒ• ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ Immutable Object(๋ถˆ๋ณ€ ๊ฐ์ฒด)๋Š” ์„ฑ๋Šฅ ํ–ฅ์ƒ๊ณผ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•ด ์ค‘์š”ํ•œ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ๋ถˆ๋ณ€ ๊ฐ์ฒด์˜ ์ •์˜์™€ ํ•„์š”์„ฑ, ์ƒ์„ฑ ๋ฐฉ๋ฒ• ๋“ฑ์„ ์ƒ์„ธํžˆ ๋‹ค๋ฃน๋‹ˆ๋‹ค. Object.freeze(), Object.seal(), Object.preventExtensions() ๋“ฑ์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถˆ๋ณ€ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์‹ค์ œ ์˜ˆ์ œ์™€ ํ•จ๊ป˜ ์•Œ์•„๋ณด์„ธ์š”. ์ด ๊ธ€์„ ํ†ตํ•ด ๋ถˆ๋ณ€ ๊ฐ์ฒด์˜ ์žฅ์ ์„ ์ดํ•ดํ•˜๊ณ , ์ฝ”๋“œ์˜ ์•ˆ์ •์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๋†’์ด๋Š” ๋ฐ ๋„์›€์ด ๋˜๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.โ‰ฃ ๋ชฉ์ฐจ Immutable Object๋ž€ ๋ฌด์—‡์ธ๊ฐ€?๐Ÿค”์™œ Immutable Object๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๊ฐ€?๐Ÿ’กImmutable Object ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•๐Ÿš€๋ถˆ๋ณ€ ๊ฐ์ฒด์™€ ๊ฐ€๋ณ€ ๊ฐ์ฒด์˜ ์ฐจ์ด์ ๐Ÿ”„์‹ค์ œ ์˜ˆ์ œ ์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋Š” Immuta.. 2024. 7. 1.
[Javascript]์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Property Attribute ์™„๋ฒฝ ์ •๋ฆฌ: ์ดํ•ด์™€ ํ™œ์šฉ ๋ฐฉ๋ฒ• ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Property Attribute์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์˜ ๋ชฉํ‘œ๋Š” Property Attribute์˜ ๊ฐœ๋…์„ ์ดํ•ดํ•˜๊ณ , ๋‹ค์–‘ํ•œ ํ™œ์šฉ ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ๊ผญ ์•Œ์•„์•ผ ํ•  ์ค‘์š”ํ•œ ๊ฐœ๋…์ด๋‹ˆ, ๋๊นŒ์ง€ ์ฝ์–ด์ฃผ์„ธ์š”!โ‰ฃ ๋ชฉ์ฐจProperty Attribute๋ž€?๐Ÿ“šData Property Attributes๐Ÿ’พAccessor Property Attributes๐Ÿ”„Property Attribute์˜ ํ™œ์šฉ๐Ÿ› ๏ธ์†์„ฑ ๊ธฐ์ˆ ์ž(Property Descriptor) ํ™•์ธํ•˜๊ธฐ๐Ÿ”์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ Property Attribute๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์ „์— ๊ฐ์ฒด์˜ ๊ธฐ๋ณธ ๊ฐœ๋…์„ ๋จผ์ € ํ™•์ธํ•ด ์ฃผ์„ธ์š”๐Ÿ˜""[Javascript]์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด ์™„๋ฒฝ ๊ฐ€์ด๋“œ: ์„ ์–ธ, ์‚ฌ์šฉ๋ฒ•, ๋ณต์‚ฌ.. 2024. 6. 29.
[Javascript]์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ super์™€ override ์™„๋ฒฝ ์ดํ•ดํ•˜๊ธฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)์„ ์ง€์›ํ•˜๋ฉฐ, ์ด๋Š” ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ํ•ต์‹ฌ ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ƒ์†(inheritance)์ด๋ฉฐ, ์ด๋•Œ super์™€ override๊ฐ€ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” super์™€ override์˜ ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ๋ฒ•์„ ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•œ ๋‹จ๊ณ„ ๋” ๊นŠ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.โ‰ฃ ๋ชฉ์ฐจsuper ํ‚ค์›Œ๋“œ์˜ ๊ฐœ๋…๊ณผ ํ™œ์šฉ๐Ÿ’กoverride(์˜ค๋ฒ„๋ผ์ด๋“œ)์˜ ๊ฐœ๋…๊ณผ ํ™œ์šฉ๐Ÿ”„super์™€ override๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ธฐ๐ŸŽฏ๊ฒฐ๋ก  ๋ฐ ์š”์•ฝ๐Ÿ“š์ƒ์†์— ๊ด€ํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”๐Ÿ˜""[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ]javascript ์ƒ์† ์™„๋ฒฝ ๊ฐ€์ด๋“œ: ๊ธฐ๋ณธ ๊ฐœ๋…๋ถ€ํ„ฐ ์‹ค์ „ .. 2024. 6. 28.
[Javascript]์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ƒ์† ์™„๋ฒฝ ๊ฐ€์ด๋“œ: ๊ธฐ๋ณธ ๊ฐœ๋…๋ถ€ํ„ฐ ์‹ค์ „ ์˜ˆ์ œ๊นŒ์ง€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)์˜ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋Š” ์–ธ์–ด์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜ ์ƒ์† ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ์œ ์—ฐ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐœ๋…๊ณผ ํ”„๋กœํ† ํƒ€์ž…์„ ํ™œ์šฉํ•œ ์ƒ์† ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.โ‰ฃ ๋ชฉ์ฐจ์ƒ์†์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๐Ÿ“šํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜ ์ƒ์† ์ดํ•ดํ•˜๊ธฐ๐Ÿ”„ES6 ํด๋ž˜์Šค ์ƒ์†๐Ÿ†•์ƒ์† ์˜ˆ์ œ: ์‹ค์ „ ์ฝ”๋“œ๐Ÿ’ป์ƒ์†์˜ ์žฅ๋‹จ์  ๋ถ„์„โš–๏ธ01. ์ƒ์†์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๐Ÿ“š์ƒ์†(Inheritance)์€ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ค‘์š”ํ•œ ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜๋กœ, ๊ธฐ์กด์˜ ํด๋ž˜์Šค๋ฅผ ์žฌ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ƒ์†์„ ํ†ตํ•ด ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๊ณ , ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ํ–ฅ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜์˜ ์–ธ์–ด๋กœ, ๋‹ค๋ฅธ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ.. 2024. 6. 27.
[Javascript]์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Getter, Setter, Static ์™„๋ฒฝ ๊ฐ€์ด๋“œ: ๊ฐœ๋…๊ณผ ํ™œ์šฉ ์˜ˆ์ œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ Getter์™€ Setter๋Š” ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ œ์–ดํ•˜๋Š” ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Static ํ‚ค์›Œ๋“œ๋Š” ํด๋ž˜์Šค ๋ ˆ๋ฒจ์—์„œ ๋ฉ”์„œ๋“œ์™€ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๊ฐœ๋…๋“ค์„ ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ณ , ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.โ‰ฃ ๋ชฉ์ฐจ Getter์™€ Setter์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๐Ÿ“šGetter์™€ Setter ์‚ฌ์šฉ๋ฒ•๐Ÿ“Getter์™€ Setter์˜ ์‹ค์ œ ํ™œ์šฉ ์˜ˆ์ œ๐Ÿ’กStatic ํ‚ค์›Œ๋“œ์˜ ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ๋ฒ•๐ŸงฉStatic ๋ฉ”์„œ๋“œ์™€ ํ”„๋กœํผํ‹ฐ์˜ ์‹ค์ œ ํ™œ์šฉ ์˜ˆ์ œ๐Ÿš€Getter, Setter, Static์„ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•  ์ โš ๏ธGetter์™€ setter ๊ทธ๋ฆฌ๊ณ  static ๋ฉค๋ฒ„๋Š” ๋ชจ๋‘ ํด๋ž˜์Šค์™€ ๊นŠ์€ ์—ฐ๊ด€์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋“ค์€ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๊ณ  ์ œ์–ดํ•˜๋Š” ๋ฐ ์ค‘์š”.. 2024. 6. 26.
[Javascript]์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํด๋ž˜์Šค ์ดํ•ดํ•˜๊ธฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ๋งค์šฐ ์œ ์šฉํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด์˜ ๊ตฌ์กฐ์™€ ํ–‰๋™์„ ์ •์˜ํ•˜๋Š” ํ‹€์„ ์ œ๊ณตํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๋” ๊น”๋”ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํด๋ž˜์Šค์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ํด๋ž˜์Šค๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.โ‰ฃ ๋ชฉ์ฐจํด๋ž˜์Šค ์ •์˜ํ•˜๊ธฐ: ๊ธฐ๋ณธ ๊ตฌ์กฐ์™€ ํ‚ค์›Œ๋“œ๐Ÿท๏ธ์ƒ์„ฑ์ž - ๊ฐ์ฒด ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ๐Ÿ› ๏ธ๋‹ค์–‘ํ•œ ๊ฐ์ฒด ์ƒ์„ฑํ•˜๊ธฐ๐Ÿงชํด๋ž˜์Šค ์†์„ฑ์— ์ ‘๊ทผํ•˜๊ธฐ๐ŸŽจํด๋ž˜์Šค ๋ฉ”์„œ๋“œ ํ˜ธ์ถœํ•˜๊ธฐ๐Ÿ—ฃ๏ธํด๋ž˜์Šค์™€ ์ธ์Šคํ„ด์Šค์˜ ํƒ€์ž… ํ™•์ธํ•˜๊ธฐ๐Ÿ”ํ•ต์‹ฌ ๋‚ด์šฉ๐Ÿ‘€01. ํด๋ž˜์Šค ์ •์˜ํ•˜๊ธฐ: ๊ธฐ๋ณธ ๊ตฌ์กฐ์™€ ํ‚ค์›Œ๋“œ๐Ÿท๏ธ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ES6(ECMAScript 2015)์—์„œ ๋„์ž…๋œ ๋ฌธ๋ฒ•์ž…๋‹ˆ๋‹ค. ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด .. 2024. 6. 25.
[Javascript]์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ: try...catch๋ฅผ ์ด์šฉํ•œ ์˜ค๋ฅ˜ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ• ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋Š” ์ฝ”๋“œ ์‹คํ–‰ ์ค‘ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์ด ๊ฐ‘์ž๊ธฐ ์ค‘๋‹จ๋˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ–ฅ์ƒํ•˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์˜ ์•ˆ์ •์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.โ‰ฃ ๋ชฉ์ฐจ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๊ธฐ๋ณธ ๊ฐœ๋…๐Ÿงฉ๊ธฐ๋ณธ ๊ตฌ๋ฌธ๐Ÿ“œ์˜ˆ์ œ ์ฝ”๋“œ ์„ค๋ช…๐Ÿ’ป์ปค์Šคํ…€ ์˜ˆ์™ธ ์ƒ์„ฑ๐Ÿ› ๏ธfinally ๋ธ”๋ก ์‚ฌ์šฉ๐Ÿ”„์‹ค์ „ ํŒ๐Ÿ’กํ•ต์‹ฌ ๋‚ด์šฉ๐Ÿ‘€01. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๊ธฐ๋ณธ ๊ฐœ๋…๐Ÿงฉ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์˜ˆ์™ธ(Exception)๋Š” ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์— ์˜ˆ๊ธฐ์น˜ ์•Š๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜ ์ƒํ™ฉ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ์˜ค๋ฅ˜๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์ด ๋น„์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์˜ ์•ˆ์ •์„ฑ์„ ๋†’์ด๊ณ , ์˜ค๋ฅ˜.. 2024. 6. 24.
[Javascript]์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด ์™„๋ฒฝ ๊ฐ€์ด๋“œ: ์„ ์–ธ, ์‚ฌ์šฉ๋ฒ•, ๋ณต์‚ฌ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๊ฐ์ฒด(Object)๋Š” ๋งค์šฐ ์ค‘์š”ํ•œ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. ๊ฐ์ฒด๋Š” ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ๊ตฌ์กฐ๋กœ ๋ฌถ์–ด ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ค๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ๊ฐœ๋…๋ถ€ํ„ฐ ๊ณ ๊ธ‰ ํ™œ์šฉ๋ฒ•๊นŒ์ง€๋ฅผ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.โ‰ฃ ๋ชฉ์ฐจ๊ฐ์ฒด์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๐Ÿ”์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด ์ƒ์„ฑ ๋ฐ ์‚ฌ์šฉ๐Ÿ’ก๊ฐ์ฒด ํ”„๋กœํผํ‹ฐ ์ ‘๊ทผ๊ณผ ์ˆ˜์ •๐Ÿ”ง๊ฐ์ฒด์˜ ํŠน์„ฑ๊ณผ const ์„ ์–ธ๐Ÿ“‘๊ฐ์ฒด์˜ ํ‚ค์™€ ๊ฐ’ ์ถ”์ถœ๐Ÿ”๊ฐ์ฒด ๋ณต์‚ฌ์™€ ์ฐธ์กฐ๐Ÿ”—ํ•ต์‹ฌ ๋‚ด์šฉ๐Ÿ‘€์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๊ฐ์ฒด์™€ ๋ฐฐ์—ด์˜ ์ฃผ์š” ์ฐจ์ด์ ์€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์ฒด๋Š” ํ‚ค-๊ฐ’ ์Œ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์–ด์„œ ๊ฐ ๋ฐ์ดํ„ฐ์— ์ด๋ฆ„์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, ๋ฐฐ์—ด์€ ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์ฒด๋Š” ๊ฐ ๋ฐ์ดํ„ฐ์— ๊ณ ์œ ํ•œ ์‹๋ณ„์ž(ํ‚ค)๋ฅผ ๋ถ€์—ฌํ•˜๊ณ , ๋ฐฐ์—ด์€ ์ˆœ์„œ์— ๋”ฐ๋ผ ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.. 2024. 6. 22.
[Javascript]์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฐ์—ด ์™„๋ฒฝ ๊ฐ€์ด๋“œ: ๋ฐฐ์—ด ๋ฉ”์†Œ๋“œ์™€ ํ™œ์šฉ๋ฒ• ์ด์ •๋ฆฌ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฐฐ์—ด ํ•จ์ˆ˜๋Š” ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ์ค‘์š”ํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฐ์—ด ํ•จ์ˆ˜๋“ค์„ ์ •๋ฆฌํ•˜๊ณ , ๊ฐ๊ฐ์˜ ํ•จ์ˆ˜๊ฐ€ ์–ด๋–ค ์ƒํ™ฉ์—์„œ ์œ ์šฉํ•œ์ง€์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.โ‰ฃ ๋ชฉ์ฐจJavaScript ๋ฐฐ์—ด์ด๋ž€?๐Ÿค”๋ฐฐ์—ด ์ƒ์„ฑ ๋ฐฉ๋ฒ•๐ŸŽจ๋ฐฐ์—ด ์š”์†Œ ์ ‘๊ทผ ๋ฐ ์กฐ์ž‘๐Ÿ› ๏ธ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ๐Ÿ“š๊ณ ๊ธ‰ ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ์™€ ํ™œ์šฉ๋ฒ•๐Ÿš€๋ฐฐ์—ด๊ณผ ๊ด€๋ จ๋œ ์œ ์šฉํ•œ ํŒ๐Ÿ“ํ•ต์‹ฌ ๋‚ด์šฉ๐Ÿ‘€์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฐ์—ด์€ ์ฐธ์กฐ ์ž๋ฃŒํ˜•์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•(primitive types)๊ณผ ์ฐธ์กฐ ์ž๋ฃŒํ˜•(reference types)์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐฉ์‹์— ๋”ฐ๋ผ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž๋ฃŒํ˜•์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”๐Ÿ˜""[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ]์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž๋ฃŒํ˜• ๊ฐ€์ด๋“œ.. 2024. 6. 21.
[Javascript]์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜ ์™„๋ฒฝ ๊ฐ€์ด๋“œ: ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ํ•„์ˆ˜ ํŒ๊ณผ ์˜ˆ์ œ ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ•ต์‹ฌ ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜์ธ ํ•จ์ˆ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜๋Š” ์›น ๊ฐœ๋ฐœ์—์„œ ๋งค์šฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์„ ํ†ตํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๋ถ€ํ„ฐ ๊ณ ๊ธ‰ ์‚ฌ์šฉ๋ฒ•๊นŒ์ง€ ๋‹จ๊ณ„๋ณ„๋กœ ๋ฐฐ์›Œ๋ณด์„ธ์š”.โ‰ฃ ๋ชฉ์ฐจ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜๋ž€?๐Ÿค”์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜์˜ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•๐Ÿ“œ๋‹ค์–‘ํ•œ ํ•จ์ˆ˜ ์œ ํ˜•๐Ÿ› ๏ธ๊ณ ๊ธ‰ ํ•จ์ˆ˜ ์‚ฌ์šฉ๋ฒ•๐Ÿš€์ตœ์ ํ™” ๋ฐ ์„ฑ๋Šฅ ๊ฐœ์„ ๐Ÿ’กํ•ต์‹ฌ ๋‚ด์šฉ๐Ÿ‘€01. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜๋ž€?๐Ÿค”์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜๋Š” ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ฝ”๋“œ ๋ธ”๋ก์ž…๋‹ˆ๋‹ค. ํ•จ์ˆ˜๋Š” ์—ฌ๋Ÿฌ ๋ฒˆ ํ˜ธ์ถœ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋งค๋ฒˆ ํ˜ธ์ถœ๋  ๋•Œ๋งˆ๋‹ค ๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ•จ์ˆ˜๋Š” ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๊ณ , ์ฝ”๋“œ๋ฅผ ๋” ๊ตฌ์กฐํ™”ํ•˜๋ฉฐ, ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ํ•ด ์ค๋‹ˆ๋‹ค.02. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜์˜ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•๐Ÿ“œ1. ํ•จ์ˆ˜ ์„ ์–ธ ๋ฐ ํ‘œํ˜„์‹์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ํ•จ์ˆ˜ ์„ ์–ธ.. 2024. 6. 17.
728x90
๋ฐ˜์‘ํ˜•