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

๐Ÿ“ฐ ์–ธ์–ด/JS

(15)
Ajax ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ 1. Ajax(Asynchronous JavaScript and XML) 2. JSON (JavaScript Object Notation) 3. XMLHttpRequest 1. Ajax(Asynchronous JavaScript and XML) ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ๋น„๋™๊ธฐ์ (Asynchronous)์œผ๋กœ ์„œ๋ฒ„์™€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ํ†ต์‹  ๋ฐฉ์‹ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์›นํŽ˜์ด์ง€๊ฐ€ ๋ฐ˜ํ™˜๋˜๋ฉด ํ™”๋ฉด ์ „์ฒด๋ฅผ ๊ฐฑ์‹ ํ•ด์•ผ ํ•˜๋Š”๋ฐ ํŽ˜์ด์ง€ ์ผ๋ถ€๋งŒ์„ ๊ฐฑ์‹ ํ•˜๊ณ ๋„ ๋™์ผํ•œ ํšจ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด Ajax์ด๋‹ค. ํŽ˜์ด์ง€ ์ „์ฒด๋ฅผ ๋กœ๋“œํ•˜์—ฌ ๋ Œ๋”๋งํ•  ํ•„์š”๊ฐ€ ์—†๊ณ  ๊ฐฑ์‹ ์ด ํ•„์š”ํ•œ ์ผ๋ถ€๋งŒ ๋กœ๋“œํ•˜์—ฌ ๊ฐฑ์‹ ํ•˜๋ฉด ๋˜๋ฏ€๋กœ ๋น ๋ฅธ ํผํฌ๋จผ์Šค์™€ ๋ถ€๋“œ๋Ÿฌ์šด ํ™”๋ฉด ํ‘œ์‹œ ํšจ๊ณผ๋ฅผ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ๋‹ค. 2. JS..
์ด๋ฒคํŠธ ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ 1. ์ด๋ฒคํŠธ 2. ์ด๋ฒคํŠธ ๋ฃจํ”„(Event Loop)์™€ ๋™์‹œ์„ฑ(Concurrency) 2-1) ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ 2-2) ์ด๋ฒคํŠธ ์˜ˆ์ œ 3. ์ด๋ฒคํŠธ์˜ ์ข…๋ฅ˜(์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ด๋ฒคํŠธ) ๋” ๋‹ค์–‘ํ•œ ์ด๋ฒคํŠธ๋ฅผ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด ์•„๋ž˜์˜ MDN์‚ฌ์ดํŠธ๋ฅผ ์ฐธ๊ณ ํ•œ๋‹ค. https://developer.mozilla.org/en-US/docs/Web/Events 1. ์ด๋ฒคํŠธ ์ด๋ฒคํŠธ(event)๋Š” DOM ์š”์†Œ์™€ ๊ด€๋ จ๋œ ์–ด๋–ค ์‚ฌ๊ฑด์„ ์˜๋ฏธํ•œ๋‹ค. ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋ˆ„๊ตฐ๊ฐ€ ์ด๋ฅผ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋ฉฐ ๊ทธ์— ๋Œ€์‘ํ•˜๋Š” ์ฒ˜๋ฆฌ๋ฅผ ํ˜ธ์ถœํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด๋ฒคํŠธ๋ฅผ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋ฒคํŠธ ๋ฐœ์ƒ ์‹œ์—๋Š” ํ†ต์ง€ํ•ด ์ค€๋‹ค. ์ด ๊ณผ์ •์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž์™€ ์›นํŽ˜์ด์ง€๋Š” ์ƒํ˜ธ์ž‘์šฉ(Interaction)์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋œ๋‹ค...
๋ธŒ๋ผ์šฐ์ €์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(2) - DOM ์š”์†Œ ์ ‘๊ทผ, ์กฐ์ž‘ ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ 1. DOM ์š”์†Œ์— ์ ‘๊ทผ 1-1) get๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉ 1-2) DOM์š”์†Œ ์ฟผ๋ฆฌ 1-3) DOM Traversing(ํƒ์ƒ‰) 2. DOM ์š”์†Œ ์กฐ์ž‘ 2-1) ํ…์ŠคํŠธ ๋…ธ๋“œ์—์˜ ์ ‘๊ทผ/์ˆ˜์ • 2-2) ์–ดํŠธ๋ฆฌ๋ทฐํŠธ ๋…ธ๋“œ์—์˜ ์ ‘๊ทผ/์ˆ˜์ • 2-3) HTML ์ฝ˜ํ…์ธ  ์กฐ์ž‘(Manipulation) 2-4) DOM์„ ์ง์ ‘ ์กฐ์ž‘ โ€ป innerHTML vs. DOM ์กฐ์ž‘ ๋ฐฉ์‹ DOM์„ ํ†ตํ•ด ์›นํŽ˜์ด์ง€๋ฅผ ์กฐ์ž‘(manipulate)ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํƒ์ƒ‰๊ณผ ์กฐ์ž‘ ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ด๊ฒƒ์— ํ•„์š”ํ•œ ์ˆ˜๋‹จ(API)์„ ์ œ๊ณตํ•œ๋‹ค. ์กฐ์ž‘ํ•˜๊ณ ์žํ•˜๋Š” ์š”์†Œ๋ฅผ ์„ ํƒ ๋˜๋Š” ํƒ์ƒ‰ ์„ ํƒ๋œ ์š”์†Œ์˜ ์ฝ˜ํ…์ธ  ๋˜๋Š” ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๋ฅผ ์กฐ์ž‘ 1. DOM ์š”์†Œ์— ์ ‘๊ทผ DOM์š”์†Œ๋ฅผ ํƒ์ƒ‰์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ• ์„ธ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค..
๋ธŒ๋ผ์šฐ์ €์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(1) - ๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ DOM ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ 1. ๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ(DOM, document object model) 2. DOM API(Application Programming Interface) 3. DOM tree 3-1) DOM tree๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋„ค์ข…๋ฅ˜ ๋…ธ๋“œ 1. ๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ(DOM, document object model) - HTML๋ฌธ์„œ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ํ•ต์‹ฌ ํ…์ŠคํŠธ ํŒŒ์ผ๋กœ ๋งŒ๋“ค์–ด์ ธ ์žˆ๋Š” ์›น ๋ฌธ์„œ๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ๋ Œ๋”๋งํ•˜๋ ค๋ฉด ์›น ๋ฌธ์„œ๋ฅผ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ ค์•ผ ํ•œ๋‹ค. ๋ชจ๋“  ์š”์†Œ์™€ ์š”์†Œ์˜ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ, ํ…์ŠคํŠธ๋ฅผ ๊ฐ๊ฐ์˜ ๊ฐ์ฒด๋กœ ๋งŒ๋“ค๊ณ  ์ด๋“ค ๊ฐ์ฒด๋ฅผ ๋ถ€์ž ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ํŠธ๋ฆฌ ๊ตฌ์กฐ๋กœ ๊ตฌ์„ฑํ•œ ๊ฒƒ DOM์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ณ€๊ฒฝ๋œ DOM์€ ๋ Œ๋”..
์ •๊ทœ ํ‘œํ˜„์‹ ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ 1. ์ •๊ทœ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ? 2. ์ •๊ทœ ํ‘œํ˜„์‹ ๋งŒ๋“ค๊ธฐ 3. ์ •๊ทœ์‹ ํŒจํ„ด 3-1) ํŒจํ„ด ์ž‘์„ฑํ•˜๊ธฐ ์ •๊ทœ์‹ ํ‘œํ˜„์‹(๋”๋ณด๊ธฐ ํด๋ฆญ! : ํŠน์ˆ˜ ๋ฌธ์ž ์‚ฌ์šฉ ์˜ˆ์‹œ) ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํŠน์ˆ˜ ๋ฌธ์ž(๋”๋ณด๊ธฐ ํด๋ฆญ! : ๊ธฐํƒ€ ํŠน์ˆ˜ ๋ฌธ์ž) 4. ๊ทธ๋ฃน 4-1) ๊ทธ๋ฃนํ™” 4-2) ์บก์ฒ˜(capturing) ์ •๊ทœํ‘œํ˜„์‹ ํ…Œ์ŠคํŠธ ์‚ฌ์ดํŠธ ๋‚ด์šฉ์„ ์ดํ•ดํ•˜๋ฉด์„œ ์‹ค์ œ๋กœ ์ ์šฉํ•ด ๋ณด๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ์‚ฌ์ดํŠธ๋“ค์„ ์ด์šฉํ•˜์—ฌ ์ •๊ทœ์‹์„ ํ…Œ์ŠคํŠธํ•ด ๋ด…์‹œ๋‹ค. ๋‹จ, ๊ฐ ์‚ฌ์ดํŠธ์˜ ์„ค์ •๋œ ํ™˜๊ฒฝ์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ถ€ ์ž‘๋™ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋‹ค๋ฃจ๋Š” ์ •๊ทœ์‹๊ณผ ๋‹ค๋ฅด๊ฒŒ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์‚ฌ์ดํŠธ์—์„œ ํ…Œ์ŠคํŠธํ•œ ์ •๊ทœ์‹์˜ ๊ฒฐ๊ณผ๋ฅผ ๋งน์‹ ํ•˜์ง€ ๋ง๊ณ  ์ž์‹ ์˜ ํ™˜๊ฒฝ์— ๋งž๋Š”์ง€ ๊ผญ ํ…Œ์ŠคํŠธํ•˜์„ธ์š”. https://regex101.c..
๋น„๋™๊ธฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ(1) - ๋™๊ธฐvs๋น„๋™๊ธฐ, ์ฝœ๋ฐฑ ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ 1. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋น„๋™๊ธฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ 2. ์ฝœ๋ฐฑ 2-1) ์Šค์ฝ”ํ”„์™€ ๋น„๋™๊ธฐ์  ์‹คํ–‰ 2-2) ์˜ค๋ฅ˜ ์šฐ์„  ์ฝœ๋ฐฑ 2-3) ์ฝœ๋ฐฑ ํ—ฌ ๋™๊ธฐ์‹ ์ฒ˜๋ฆฌ ๋ชจ๋ธ(Synchronous processing model)์€ ์ง๋ ฌ์ ์œผ๋กœ ํƒœ์Šคํฌ(task)๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ฆ‰, ํƒœ์Šคํฌ๋Š” ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋˜๋ฉฐ ์–ด๋–ค ์ž‘์—…์ด ์ˆ˜ํ–‰ ์ค‘์ด๋ฉด ๋‹ค์Œ ์ž‘์—…์€ ๋Œ€๊ธฐํ•˜๊ฒŒ ๋œ๋‹ค. ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ์‘๋‹ต๋  ๋•Œ๊นŒ์ง€ ์ดํ›„ ํƒœ์Šคํฌ๋“ค์€ ๋ธ”๋กœํ‚น(blocking, ์ž‘์—… ์ค‘๋‹จ)๋œ๋‹ค. #๋™๊ธฐ์‹์œผ๋กœ ๋™์ž‘ - ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋จ. function func1() { console.log('func1'); func2(); } function func2() { console.log('func2'); func3(); }..
ES6์˜ ์‹ฌ๋ณผ, ์ดํ„ฐ๋ ˆ์ดํ„ฐ์™€ ์ œ๋„ค๋ ˆ์ดํ„ฐ ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ 1. Symbol 2. ์‹ฌ๋ณผ์˜ ์ƒ์„ฑ 2-1) ๋Œ€ํ‘œ์ ์ธ ์ƒ์šฉ์‹ฌ๋ณผ 1. ์ดํ„ฐ๋ ˆ์ดํ„ฐ(Iteratoe) 1-1) ์ดํ„ฐ๋ ˆ์ด์…˜ ํ”„๋กœํ† ์ฝœ 2. ์ œ๋„ˆ๋ ˆ์ดํ„ฐ(generator) 1. Symbol ES6์—์„œ ์ƒˆ๋กœ ์„ ๋ณด์ธ ์›์‹œ ํƒ€์ž…์ด๋‹ค. typeof Symbol(); // 'symbol' ๊ฐ์ฒด์— Uniqueํ•œ ์†์„ฑ์„ ๋งŒ๋“ค์–ด ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€์˜ ์ถฉ๋Œ์„ ๋ง‰๊ธฐ ์œ„ํ•ด Symbol์ด ํ•„์š”ํ•˜๋‹ค. ์›๋ž˜ ๊ฐ์ฒด์˜ ์†์„ฑ ์ด๋ฆ„์€ ๋ฌธ์ž์—ด๋กœ ํ‘œํ˜„ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ Array ๊ฐ™์ด ๋ฒ”์šฉ์ ์œผ๋กœ ์“ฐ์ด๋Š” ํƒ€์ž…์„ ํ™•์žฅํ–ˆ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, ๋‚ด๊ฐ€ ํ™•์žฅํ•œ ๊ฒƒ๊ณผ ๊ฐ™์€ ์ด๋ฆ„์œผ๋กœ ํ™•์žฅํ–ˆ๋‹ค๋ฉด? ์‹ฌ๋ณผ์€ Uniqueํ•˜๊ธฐ ๋•Œ๋ฌธ์—, description์ด ๊ฐ™์•„๋„ ์ถฉ๋Œํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋‚ด๊ฐ€ Array์˜ ์†์„ฑ์˜ ๊ฐฏ..
map๊ณผ set ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ 1. Map 1-1) Map vs Object 2. WeakMap 2-2) WeakMap vs Map 3. Set 1. Map Map ๊ฐ์ฒด๋Š” ์š”์†Œ์˜ ์‚ฝ์ž… ์ˆœ์„œ๋Œ€๋กœ ์›์†Œ๋ฅผ ์ˆœํšŒํ•œ๋‹ค. for...of ๋ฐ˜๋ณต๋ฌธ์€ ๊ฐ ์ˆœํšŒ์—์„œ [key, value]๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. const u1 = {name : 'jackson'} const u2 = {name : 'olive'} //๋งต ์ƒ์„ฑ const userRoles = new Map(); //๋งต์˜ set() ์‚ฌ์šฉํ•ด ์‚ฌ์šฉ์ž ์—ญํ•  ํ• ๋‹น ###### userRoles.set(u1, 'User') userRoles.set(u2, 'Admin') ###๋˜๋Š”### userRoles .set(u1, 'User') .se..
๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP) ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ 1. ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์šฉ์–ด 2. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์–ธ์–ด์  ํŠน์ง• 1. ๊ฐ์ฒด ์ƒ์„ฑ 2. ํด๋ž˜์Šค(ES5 vs ES6) ์ƒ์„ฑ 3. ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ 4. construnctor(์ƒ์„ฑ์ž) 5. ํ”„๋กœํ† ํƒ€์ž… ์ฒด์ธ๊ณผ ๋ฉ”์†Œ๋“œ ์ •์˜ 6. ์ƒ์† - ์˜์‚ฌ ํด๋ž˜์Šค ํŒจํ„ด ์ƒ์†, ํ”„๋กœํ† ํƒ€์ž… ํŒจํ„ด ์ƒ์† 7. ์บก์Šํ™”, ์ถ”์ƒํ™”, ๋‹คํ˜•์„ฑ 1. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์–ธ์–ด์  ํŠน์ง• ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋ฉ€ํ‹ฐ-ํŒจ๋Ÿฌ๋‹ค์ž„ ์–ธ์–ด๋กœ ๋ช…๋ นํ˜•(imperative), ํ•จ์ˆ˜ํ˜•(functional), ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜(prototype-based) ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์ด๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ด๋ฏธ ์ƒ์„ฑ๋œ ์ธ์Šคํ„ด์Šค์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ๊ธฐ๋Šฅ์„ ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ์ƒ์†, ์บก์Šํ™”(์ •๋ณด ์€๋‹‰) ๋“ฑ์˜ ๊ฐœ๋…์€ ํ”„๋กœํ† ํƒ€์ž… ์ฒด์ธ..
๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด - ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜ ์–ธ์–ด(JS) ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ ์–ธ์–ด vs ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜ ์–ธ์–ด(JS) 1. property 2. ํ”„๋กœํ† ํƒ€์ž… (๊ฐœ๋… ์„ค๋ช…) 3. ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜ ์–ธ์–ด ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ์ค„๊ธฐ๋กœ ๋‚˜๋ˆŒ์ˆ˜ ์žˆ๋‹ค. ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ ์–ธ์–ด(C++, Java, C#, Ruby, Python ๋“ฑ) ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜ ์–ธ์–ด(JavaScript, ActionScript, JScript ๋“ฑ) ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ & ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ชจ๋“  ๊ฐ์ฒด๋Š” ์ž์‹ ์˜ ๋ถ€๋ชจ ์—ญํ• ์„ ๋‹ด๋‹นํ•˜๋Š” ๊ฐ์ฒด์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ (๋งˆ์น˜ ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ์ƒ์† ๊ฐœ๋…๊ณผ ๊ฐ™์ด) ๋ถ€๋ชจ ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ ๋˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์ƒ์†๋ฐ›์•„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๋ถ€๋ชจ ๊ฐ์ฒด๋ฅผ Prototype(ํ”„๋กœํ† ํƒ€์ž…) ๊ฐ์ฒด ๋˜๋Š” ์ค„์—ฌ์„œ..