๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Programming/Javascript

(9)
[์ธ์‚ฌ์ด๋“œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ์—ฐ์‚ฐ์ž 7 - ์—ฐ์‚ฐ์ž ์—ฐ์‚ฐ์ž ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—ฐ์‚ฐ์ž์˜ ๋Œ€๋ถ€๋ถ„์€ ๋‹ค๋ฅธ ์–ธ์–ด์™€ ์œ ์‚ฌํ•˜๋‹ค. ๋ช‡ ๊ฐ€์ง€ ์ฃผ์˜ํ•ด์•ผ ํ•  ์—ฐ์‚ฐ์ž๋“ค์— ๋Œ€ํ•ด์„œ ๊ฐ„๋‹จํžˆ ์•Œ์•„๋ณด์ž. 1. + ์—ฐ์‚ฐ์ž + ์—ฐ์‚ฐ์ž๋Š” ๋”ํ•˜๊ธฐ ์—ฐ์‚ฐ๊ณผ ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋‘ ์—ฐ์‚ฐ์ž๊ฐ€ ๋ชจ๋‘ ์ˆซ์ž์ผ ๊ฒฝ์šฐ์—๋งŒ ๋”ํ•˜๊ธฐ ์—ฐ์‚ฐ์ด ์ˆ˜ํ–‰๋˜๊ณ , ๋‚˜๋จธ์ง€๋Š” ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ด ์ด๋ค„์ง„๋‹ค. 2. typeof ์—ฐ์‚ฐ์ž typeof ์—ฐ์‚ฐ์ž๋Š” ํ”ผ์—ฐ์‚ฐ์ž์˜ ํƒ€์ž…์„ ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ๋ฆฌํ„ดํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ null๊ณผ ๋ฐฐ์—ด์ด 'object'๋ผ๋Š” ์ , ํ•จ์ˆ˜๋Š” 'function'์ด๋ผ๋Š” ์ ์— ์œ ์˜ํ•ด์•ผ ํ•œ๋‹ค. 3. == (๋™๋“ฑ) ์—ฐ์‚ฐ์ž์™€ === (์ผ์น˜) ์—ฐ์‚ฐ์ž ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋‘ ๊ฐ’์ด ๋™์ผํ•œ์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐ, ๋‘ ์—ฐ์‚ฐ์ž๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. == ์—ฐ์‚ฐ์ž : ๋น„๊ตํ•˜๋ ค๋Š” ํ”ผ์—ฐ์‚ฐ์ž์˜ ํƒ€์ž…์ด ๋‹ค๋ฅผ ๊ฒฝ์šฐ์— ํƒ€์ž… ๋ณ€ํ™˜์„ ๊ฑฐ์นœ ๋‹ค์Œ ๋น„๊ตํ•œ๋‹ค. ..
[์ธ์‚ฌ์ด๋“œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ์—ฐ์‚ฐ์ž 6 - ๊ธฐ๋ณธ ํƒ€์ž…๊ณผ ํ‘œ์ค€ ๋ฉ”์„œ๋“œ ๊ธฐ๋ณธ ํƒ€์ž…๊ณผ ํ‘œ์ค€ ๋ฉ”์„œ๋“œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ˆซ์ž, ๋ฌธ์ž์—ด, ๋ถˆ๋ฆฐ๊ฐ’์— ๋Œ€ํ•ด ๊ฐ ํƒ€์ž…๋ณ„๋กœ ํ˜ธ์ถœ ๊ฐ€๋Šฅํ•œ ํ‘œ์ค€ ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•˜๊ณ  ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ธฐ๋ณธ ํƒ€์ž…์˜ ๊ฒฝ์šฐ๋Š” ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ๋ฐ ์–ด๋–ป๊ฒŒ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์„๊นŒ? ๊ธฐ๋ณธ ํƒ€์ž…์˜ ๊ฐ’๋“ค์— ๋Œ€ํ•ด์„œ ๊ฐ์ฒด ํ˜•ํƒœ๋กœ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ๊ฒฝ์šฐ, ์ด๋“ค ๊ธฐ๋ณธ๊ฐ’์€ ๋ฉ”์„œ๋“œ ์ฒ˜๋ฆฌ ์ˆœ๊ฐ„์— ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜๋œ ๋‹ค์Œ ๊ฐ ํƒ€์ž…๋ณ„ ํ‘œ์ค€ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ์ด ๋๋‚˜๋ฉด ๋‹ค์‹œ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋ณต๊ท€ํ•˜๊ฒŒ ๋œ๋‹ค. toExponential() : ํ‘œ์ค€ ์ˆซ์žํ˜• ๋ฉ”์„œ๋“œ์ด๋‹ค. ์ˆซ์ž๋ฅผ ์ง€์ˆ˜ ํ˜•ํƒœ์˜ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. ์ธ์ž๋กœ ๋ฐ›๋Š” ๊ฐ’์€ ์†Œ์ˆ˜์  ์•„๋ž˜ ๋ช‡ ๋ฒˆ์งธ ์ž๋ฆฌ๊นŒ์ง€ ํ‘œ์‹œํ•  ๊ฒƒ์ธ์ง€ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. charAt() : ํ‘œ์ค€ ๋ฌธ์ž์—ด ๋ฉ”์„œ๋“œ์ด๋‹ค. ๋ฌธ์ž์—ด์—์„œ ์ธ์ž๋กœ ๋ฐ›์€ ์œ„์น˜์— ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋ฌธ์ž์—ด ์ธ..
[ES6] Symbol ํƒ€์ž… ์‹ฌ๋ฒŒ(Symbol)์€ ES6์—์„œ ์ฒ˜์Œ ์„ ๋ณด์ธ, ์ƒˆ๋กœ์šด ์›์‹œ ๊ฐ’ ํƒ€์ž…์ด๋‹ค. ์‹ฌ๋ฒŒ์€ ์ถฉ๋Œ ์—ผ๋ ค ์—†์ด ๊ฐ์ฒด ํ”„๋กœํผํ‹ฐ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ, ํŠน๋ณ„ํ•œ '์œ ์ผ ๊ฐ’'์ด๋‹ค.(์ ˆ๋Œ€์ ์œผ๋กœ ์œ ์ผํ•จ์ด ๋ณด์žฅ๋˜์ง€๋Š” ์•Š๋Š”๋‹ค.) ์ฃผ๋กœ ES6์˜ ํŠน์ˆ˜ํ•œ ๋‚ด์žฅ ๋กœ์ง์— ์“ฐ๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋˜์—ˆ์ง€๋งŒ, ์‚ฌ์šฉ์ž๋„ ์–ผ๋งˆ๋“ ์ง€ ์‹ฌ๋ฒŒ์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ES6์—๋Š” ์‹ฌ๋ฒŒ ๋ช‡ ๊ฐœ๊ฐ€ ๋ฏธ๋ฆฌ ์ •์˜๋˜์–ด ์žˆ๋Š”๋ฐ Symbol.create, Symbol.iterator ์‹์œผ๋กœ Symbol ํ•จ์ˆ˜ ๊ฐ์ฒด์˜ ์ •์  ํ”„๋กœํผํ‹ฐ๋กœ ์ ‘๊ทผํ•œ๋‹ค. ์‚ฌ์šฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์‹ฌ๋ฒŒ์„ ์ •์˜ํ•˜๋ ค๋ฉด Symbol() ๋„ค์ดํ‹ฐ๋ธŒ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. Symbol()์€ ์•ž์— new๋ฅผ ๋ถ™์ด๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š”, ์œ ์ผํ•œ ๋„ค์ดํ‹ฐ๋ธŒ '์ƒ์„ฑ์ž'๋‹ค. ์‹ฌ๋ฒŒ์€ ์ „์šฉ(private) ํ”„๋กœํผํ‹ฐ๋Š” ์•„๋‹ˆ์ง€๋งŒ(Object.getOwnPropertySymb..
[์ธ์‚ฌ์ด๋“œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ์—ฐ์‚ฐ์ž 5 - ๋ฐฐ์—ด 2 ๋ฐฐ์—ด ๋ฐฐ์—ด์˜ ํ”„๋กœํผํ‹ฐ ๋™์  ์ƒ์„ฑ ๋ฐฐ์—ด๋„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด์ด๋ฏ€๋กœ, ์ธ๋ฑ์Šค๊ฐ€ ์ˆซ์ž์ธ ๋ฐฐ์—ด ์›์†Œ ์ด์™ธ์—๋„ ๊ฐ์ฒด์ฒ˜๋Ÿผ ๋™์ ์œผ๋กœ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋™์  ํ”„๋กœํผํ‹ฐ๊ฐ€ ์ถ”๊ฐ€๋  ๊ฒฝ์šฐ ๋ฐฐ์—ด์˜ length ๊ฐ’์€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š”๋‹ค. ๋ฐฐ์—ด์˜ length ํ”„๋กœํผํ‹ฐ๋Š” ๋ฐฐ์—ด ์›์†Œ์˜ ๊ฐ€์žฅ ํฐ ์ธ๋ฑ์Šค๊ฐ€ ๋ณ€ํ–ˆ์„ ๊ฒฝ์šฐ๋งŒ ๋ณ€๊ฒฝ๋œ๋‹ค. ๋ฐฐ์—ด์˜ ํ”„๋กœํผํ‹ฐ ์—ด๊ฑฐ ๊ฐ์ฒด๋Š” for in ๋ฌธ์œผ๋กœ ํ”„๋กœํผํ‹ฐ๋ฅผ ์—ด๊ฑฐํ•œ๋‹ค. ๋ฐฐ์—ด๋„ ๊ฐ์ฒด์ด๋ฏ€๋กœ for in ๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ๋ฐฐ์—ด ๋‚ด์˜ ๋ชจ๋“  ํ”„๋กœํผํ‹ฐ๋ฅผ ์—ด๊ฑฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ๋ถˆํ•„์š”ํ•œ ํ”„๋กœํผํ‹ฐ๊ฐ€ ์ถœ๋ ฅ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋˜๋„๋ก for ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๋ฐฐ์—ด ์š”์†Œ ์‚ญ์ œ ๋ฐฐ์—ด๋„ ๊ฐ์ฒด์ด๋ฏ€๋กœ, ๋ฐฐ์—ด ์š”์†Œ๋‚˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋ฐ delete ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. delete arr[2]๋กœ ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ์‚ญ์ œ..
[ES6] ES6 (ES2015) ๋ฌธ๋ฒ• ์—ฌ๋Ÿฌ๊ฐ€์ง€ 1. const, let ๋ณดํ†ต ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ฐฐ์šธ ๋•Œ var๋กœ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ•๋ถ€ํ„ฐ ๋ฐฐ์šฐ์ง€๋งŒ var๋Š” ์ด์ œ const์™€ let์ด ๋Œ€์ฒดํ•œ๋‹ค. ๋ธ”๋ก ์Šค์ฝ”ํ”„ โ“ var๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ โ“‘ const๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ var๋Š” ํ•จ์ˆ˜ ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ€์ง€๋ฏ€๋กœ if๋ฌธ์˜ ๋ธ”๋ก๊ณผ ๊ด€๊ณ„์—†์ด ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•˜์ง€๋งŒ const์™€ let์€ ๋ธ”๋ก ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ€์ง€๋ฏ€๋กœ ๋ธ”๋ก ๋ฐ–์—์„œ๋Š” ๋ณ€์ˆ˜์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค. ๋ธ”๋ก์˜ ๋ฒ”์œ„๋Š” if, while, for, function ๋“ฑ์˜ ์ค‘๊ด„ํ˜ธ์ด๋‹ค. → ํ•จ์ˆ˜ ์Šค์ฝ”ํ”„ ๋Œ€์‹  ๋ธ”๋ก ์Šค์ฝ”ํ”„๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ํ˜ธ์ด์ŠคํŒ… ๊ฐ™์€ ๋ฌธ์ œ๋„ ํ•ด๊ฒฐ๋˜๊ณ  ์ฝ”๋“œ ๊ด€๋ฆฌ๋„ ์ˆ˜์›”ํ•ด์ง const์™€ let์˜ ์ฐจ์ด const๋Š” ํ•œ ๋ฒˆ ๋Œ€์ž…ํ•˜๋ฉด ๋‹ค๋ฅธ ๊ฐ’์„ ๋Œ€์ž…ํ•  ์ˆ˜ ์—†๋‹ค. const์— ๋‹ค๋ฅธ ๊ฐ’์„ ๋Œ€์ž…ํ•˜๋ ค ํ•˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉฐ, ์ดˆ๊ธฐํ™” ์‹œ ๊ฐ’์„ ๋Œ€์ž…ํ•˜..
[์ธ์‚ฌ์ด๋“œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ์—ฐ์‚ฐ์ž 4 - ๋ฐฐ์—ด ๋ฐฐ์—ด์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด์˜ ํŠน๋ณ„ํ•œ ํ˜•ํƒœ๋‹ค. ์ฆ‰, C๋‚˜ ์ž๋ฐ”์˜ ๋ฐฐ์—ด๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ๊ฐ์ฒด์ง€๋งŒ, ์ด๋“ค๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ๊ตณ์ด ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์•„๋„ ๋˜๋ฉฐ, ์–ด๋–ค ์œ„์น˜์— ์–ด๋А ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋”๋ผ๋„ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋ฐฐ์—ด ๋ฆฌํ„ฐ๋Ÿด ๋ฐฐ์—ด ๋ฆฌํ„ฐ๋Ÿด์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ํ‘œ๊ธฐ๋ฒ•์ด๋‹ค. ๋ฐฐ์—ด ๋ฆฌํ„ฐ๋Ÿด์€ ๋Œ€๊ด„ํ˜ธ([ ])๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋ฐฐ์—ด ๋ฆฌํ„ฐ๋Ÿด์—์„œ๋Š” ๊ฐ ์š”์†Œ์˜ ๊ฐ’๋งŒ์„ ํฌํ•จํ•œ๋‹ค. ๋ฐฐ์—ด์˜ ์š”์†Œ ์ƒ์„ฑ ๊ฐ์ฒด๊ฐ€ ๋™์ ์œผ๋กœ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋“ฏ์ด, ๋ฐฐ์—ด๋„ ๋™์ ์œผ๋กœ ๋ฐฐ์—ด ์›์†Œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ํŠนํžˆ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฐ์—ด์˜ ๊ฒฝ์šฐ๋Š” ๊ฐ’์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๋„ฃ์„ ํ•„์š” ์—†์ด ์•„๋ฌด ์ธ๋ฑ์Šค ์œ„์น˜์—๋‚˜ ๊ฐ’์„ ๋™์ ์œผ๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋นˆ ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์— ์ ‘๊ทผํ•ด๋„ undefined ๊ฐ’์ด ์ถœ๋ ฅ๋œ๋‹ค. 3๊ฐœ์˜ ์š”์†Œ ..
[์ธ์‚ฌ์ด๋“œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ์—ฐ์‚ฐ์ž 3 - ํ”„๋กœํ† ํƒ€์ž… ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ชจ๋“  ๊ฐ์ฒด๋Š” ์ž์‹ ์˜ ๋ถ€๋ชจ ์—ญํ• ์„ ํ•˜๋Š” ๊ฐ์ฒด์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ ๋งˆ์น˜ ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์ƒ์† ๊ฐœ๋…๊ณผ ๊ฐ™์ด ๋ถ€๋ชจ ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ๋งˆ์น˜ ์ž์‹ ์˜ ๊ฒƒ์ฒ˜๋Ÿผ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์€ ํŠน์ง•์ด ์žˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๋ถ€๋ชจ ๊ฐ์ฒด๋ฅผ ํ”„๋กœํ† ํƒ€์ž… ๊ฐ์ฒด(a.k.a ํ”„๋กœํ† ํƒ€์ž…)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์˜ˆ์ œ์—์„œ ์ƒ์„ฑํ•œ foo ๊ฐ์ฒด์—๋Š” toString()์ด๋ผ๋Š” ๋ฉ”์„œ๋“œ๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ด์•ผ ํ•˜์ง€๋งŒ, ์ •์ƒ์ ์œผ๋กœ ๊ฒฐ๊ณผ๊ฐ€ ์ถœ๋ ฅ๋˜์—ˆ๋‹ค. ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ  ์˜ˆ์ œ๊ฐ€ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” ์ด์œ ๋Š” ๋ฐ”๋กœ foo ๊ฐ์ฒด์˜ ํ”„๋กœํ† ํƒ€์ž…์— toString() ๋ฉ”์„œ๋“œ๊ฐ€ ์ด๋ฏธ ์ •์˜๋˜์–ด ์žˆ๊ณ , foo ๊ฐ์ฒด๊ฐ€ ์ƒ์†์ฒ˜๋Ÿผ toString() ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. foo ๊ฐ์ฒด๋ฅผ ์ถœ๋ ฅํ–ˆ์„ ๋•Œ name, age ์™ธ์— __proto__ ํ”„๋กœํผํ‹ฐ๊ฐ€ ์žˆ๋‹ค๋Š”..
[์ธ์‚ฌ์ด๋“œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ์—ฐ์‚ฐ์ž 2 - ์ฐธ์กฐ ํƒ€์ž…์˜ ํŠน์„ฑ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๊ธฐ๋ณธ ํƒ€์ž…์„ ์ œ์™ธํ•œ ๋ชจ๋“  ๊ฐ’์€ ๊ฐ์ฒด์ด๋‹ค. ๋ฐฐ์—ด์ด๋‚˜ ํ•จ์ˆ˜ ๋˜ํ•œ ๊ฐ์ฒด๋กœ ์ทจ๊ธ‰๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฌํ•œ ๊ฐ์ฒด๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์ฐธ์กฐ ํƒ€์ž…์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์ด๊ฒƒ์€ ๊ฐ์ฒด์˜ ๋ชจ๋“  ์—ฐ์‚ฐ์ด ์‹ค์ œ ๊ฐ’์ด ์•„๋‹Œ ์ฐธ์กฐ๊ฐ’์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. objA ๊ฐ์ฒด๋ฅผ ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด ๋ฐฉ์‹์œผ๋กœ ์ƒ์„ฑํ–ˆ๋‹ค. ์—ฌ๊ธฐ์„œ objA ๋ณ€์ˆ˜๋Š” ๊ฐ์ฒด ์ž์ฒด๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐธ์กฐ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์žˆ๋‹ค. ๋ณ€์ˆ˜ objB์— objA ๊ฐ’์„ ํ• ๋‹นํ•œ๋‹ค. objA๋Š” 1๋ฒˆ์—์„œ ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐธ์กฐ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๋ณ€์ˆ˜ objB์—๋„ ์ด๊ฐ™์€ ๊ฐ์ฒด์˜ ์ฐธ์กฐ๊ฐ’์ด ์ €์žฅ๋œ๋‹ค. ๋ณ€์ˆ˜ objB๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ์ฒด์˜ val ๊ฐ’์„ 40์—์„œ 50์œผ๋กœ ๊ฐฑ์‹ ํ–ˆ๋‹ค. ์ด ๋•Œ objA๋„ ๋ณ€์ˆ˜ objB์™€ ๋™์ผํ•œ ๊ฐ์ฒด๋ฅผ ใ…Š๋งˆ์กฐํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ a.val ๊ฐ’์ด 50..