JavaScript

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ํ™˜๊ฒฝ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์™€ Node.js๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์„ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์–ด, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”์–ด์ธ ECMAScript๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ.ํ•˜์ง€๋งŒ ๋ธŒ๋ผ์šฐ์ €์™€ Node.js์—์„œ ECMAScript ์ด์™ธ์— ์ถ”๊ฐ€๋กœ ์ œ๊ณต๋˜๋Š” ๊ธฐ๋Šฅ์€ ์„œ๋กœ ํ˜ธํ™˜๋˜์ง€ ์•Š์Œ. ๋ธŒ๋ผ์šฐ์ €๋Š” ์›นํŽ˜์ด์ง€๋ฅผ ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด์— ๋ Œ๋”๋งํ•˜๋Š” ๊ฒƒ์ด ์ฃผ ๋ชฉ์ ์ด์ง€๋งŒ, Node.js๋Š” ๋ธŒ๋ผ์šฐ์ € ์™ธ๋ถ€์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ์ฃผ ๋ชฉ์ ์ด๊ธฐ ๋•Œ๋ฌธ.๋ธŒ๋ผ์šฐ์ €์—์„œ๋งŒ ์ง€์›ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ Web API(Client-side APIs)ex: DOM API (ํŒŒ์‹ฑ๋œ HTML ์š”์†Œ๋ฅผ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ์กฐ์ž‘)Node.js์—์„œ๋งŒ ์ง€์›ํ•˜๋Š” Node.js Host APIsex: ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ API๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ์˜ ..
2.1 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํƒ„์ƒ1995๋…„, 90%์˜ ์‹œ์žฅ ์ ์œ ์œจ๋กœ ์›น ๋ธŒ๋ผ์šฐ์ € ์‹œ์žฅ์„ ์ง€๋ฐฐํ•˜๋˜ ๋„ท์Šค์ผ€์ดํ”„ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ฆˆ.Brendan Eich๊ฐ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐœ๋ฐœ.Mocha -> LiveScript -> JavaScript ๋กœ ์ด๋ฆ„์ด ๋ฐ”๋€œ.2.2 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ‘œ์ค€ํ™”1996๋…„ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๊ฐ€ JScript๋ผ๋Š” ํŒŒ์ƒ ๋ฒ„์ „์„ ์ถœ์‹œํ•จ.๋„ท์Šค์ผ€์ดํ”„ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ฆˆ์™€ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๋Š” ์ž์‚ฌ ๋ธŒ๋ผ์šฐ์ €์˜ ์‹œ์žฅ ์ ์œ ์œจ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์ž์‚ฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋งŒ ๋™์ž‘ํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€ํ•˜๊ธฐ ์‹œ์ž‘ํ•จ.-> ์ตœ์ดˆ์˜ ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ง• ์ด์Šˆ๋„ท์Šค์ผ€์ดํ”„ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ฆˆ๋Š” ECMA ์ธํ„ฐ๋‚ด์…”๋„์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ‘œ์ค€ํ™”๋ฅผ ์š”์ฒญํ•จ.1997๋…„, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ECMAScript๋กœ ๋ช…๋ช…๋จ. (์ดˆํŒ, ES1)2015๋…„์— ๊ณต๊ฐœ๋œ ECMAScript 6(ECMAScript 20..
๋ชจ๋“ˆ(Module)ํŠน์ • ๊ธฐ๋Šฅ์„ ์บก์Šํ™”ํ•œ ์ฝ”๋“œ์˜ ๋ธ”๋ก ๋˜๋Š” ํŒŒ์ผ. ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ์ฝ”๋“œ์˜ ์กฐ์งํ™”๋ฅผ ๋•๋Š”๋‹ค.1. ๊ธฐ๋ณธ ๋‚ด์žฅ๋œ ๊ฒƒNode.js์—๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๋ณธ ๋‚ด์žฅ ๋ชจ๋“ˆ์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.setTimeout()fs, http, path ๋“ฑ.2. ์™ธ๋ถ€ ๋ชจ๋“ˆNode.js ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์ธ NPM(Node Package Manager)์„ ํ†ตํ•ด ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.์„ค์น˜ ํ›„ ํ”„๋กœ์ ํŠธ์—์„œ ์™ธ๋ถ€ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. Node.js์—์„œ exports๋Š” ๋ชจ๋“ˆ์„ ์ •์˜ํ•˜๊ณ  ์™ธ๋ถ€๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.๋‹ค๋ฅธ ํŒŒ์ผ์ด๋‚˜ ๋ชจ๋“ˆ์—์„œ ์ •์˜๋œ ๋ชจ๋“ˆ์€ require๋กœ ๋ถˆ๋Ÿฌ์™€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ vs ํ”„๋ ˆ์ž„์›Œํฌ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌํŠน์ • ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋„๊ตฌ์˜ ์ง‘ํ•ฉ. ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•„์š”ํ•  ๋•Œ ํ˜ธ์ถœํ•ด์„œ ์‚ฌ์šฉ.์ œ์–ด๊ถŒ์€ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์žˆ๋‹ค! ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์ง์ ‘ ํ˜ธ์ถœํ•˜์—ฌ..
์˜ค๋Š˜ ๋‚ ์งœ, ํ˜„์žฌ ์‹œ๊ฐ ๊ฐ€์ ธ์˜ค๊ธฐ const getDefaultDate = () => { const today = new Date(); const year = today.getFullYear(); const month = (today.getMonth() + 1).toString().padStart(2, '0'); const day = today.getDate().toString().padStart(2, '0'); const hours = today.getHours().toString().padStart(2, '0'); const minutes = today.getMinutes().toString().padStart(2, '0'); const seconds = today.getSeconds().toStrin..
yesolz
'JavaScript' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก