[javascript] - Promise bulk๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ

javascript์˜ ๊ฐ์ฒด ์ค‘ Promise ๊ฐ์ฒด๋Š” ๋น„๋™๊ธฐ ์ž‘์—…์ด ๋งž์ดํ•  ๋ฏธ๋ž˜์˜ ์™„๋ฃŒ ๋˜๋Š” ์‹คํŒจ์™€ ๊ทธ ๊ฒฐ๊ณผ ๊ฐ’์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. MDN์˜ ์„ค๋ช…์œผ๋กœ ์•„๋ž˜์™€๊ฐ™์ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์š”์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [์ถœ์ฒ˜] - https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise Promise๋Š” ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์˜ ์ƒํƒœ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ๋Œ€๊ธฐ(pending): ์ดํ–‰ํ•˜์ง€๋„, ๊ฑฐ๋ถ€ํ•˜์ง€๋„ ์•Š์€ ์ดˆ๊ธฐ ์ƒํƒœ. ์ดํ–‰(fulfilled): ์—ฐ์‚ฐ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋จ. ๊ฑฐ๋ถ€(rejected): ์—ฐ์‚ฐ์ด ์‹คํŒจํ•จ. ๋Œ€๊ธฐ ์ค‘์ธ ํ”„๋กœ๋ฏธ์Šค๋Š” ๊ฐ’๊ณผ ํ•จ๊ป˜ ์ดํ–‰ํ•  ์ˆ˜๋„, ์–ด๋–ค ์ด์œ (์˜ค๋ฅ˜)๋กœ ์ธํ•ด ๊ฑฐ๋ถ€๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ดํ–‰์ด๋‚˜ ๊ฑฐ๋ถ€๋  ๋•Œ, ํ”„๋กœ๋ฏธ์Šค์˜ then ๋ฉ”์„œ๋“œ์— ์˜ํ•ด ๋Œ€..

9. generators

์ œ๋„ˆ๋ ˆ์ดํ„ฐ๋ž€?: ์ดํ„ฐ๋ ˆ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ์ž์‹ ์˜ ์‹คํ–‰์„ ์ œ์–ดํ•˜๋Š” ํ•จ์ˆ˜. ์ผ๋ฐ˜์ ์ธ ํ•จ์ˆ˜๋Š” ํ˜ธ์ถœ๋˜๋ฉด ๊ทธ ํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์ œ์–ด๊ถŒ์„ ์™„์ „ํžˆ ๋„˜๊ธฐ๊ฒŒ ๋˜๋Š”๋ฐ ์ œ๋„ˆ๋ ˆ์ดํ„ฐ์—์„œ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŠน์ง•1. ์ œ๋„ˆ๋ ˆ์ดํ„ฐ๋Š” ์–ธ์ œ๋“  ํ˜ธ์ถœ์ž์—๊ฒŒ ์ œ์–ด๊ถŒ์„ ๋„˜๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2. ์ œ๋„ˆ๋ ˆ์ดํ„ฐ๋Š” ํ˜ธ์ถœํ•œ ์ฆ‰์‹œ ์‹คํ–‰๋˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์ดํ„ฐ๋ ˆ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์ดํ„ฐ๋ ˆ์ดํ„ฐ์˜ next ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•จ์— ๋”ฐ๋ผ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด ๋‘๊ฐ€์ง€ ํŠน์ง•์„ ์ œ์™ธํ•˜๊ณ ๋Š” ์ผ๋ฐ˜ ํ•จ์ˆ˜๊ฐ€ ๋™์ผํ•˜๋‹ค๊ณ  ์„ค๋ช…ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋‹จ ์ œ๋„ˆ๋ ˆ์ดํ„ฐ๋ฅผ ๋งŒ๋“œ๋Š” ์ผ๋ฐ˜์ ์ธ ์˜ˆ์ œ๋ฅผ ํ•˜๋‚˜ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. function* gen() { yield 1; yield 2; yield 3; } let g = gen(); // "Generator { }" => MDN์—์„œ ๋‚˜์˜ค๋Š” ์˜ˆ์ œ์ธ๋ฐ์š” ์ œ๋„ˆ๋ ˆ์ดํ„ฐ๋Š” ..

7. let + const

์ด๋ฒˆ์— ์•Œ์•„๋ณผ ๋‚ด์šฉ์€ let๊ณผ const ์ž…๋‹ˆ๋‹ค. ๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜ ์„ ์–ธ ์‹œ์— ์“ฐ์ด๋Š” ํ‚ค์›Œ๋“œ์ธ๋ฐ ES6 ์ด์ „์—๋Š” var ๋ผ๋Š” ํ‚ค์›Œ๋“œ ํ•˜๋‚˜๋กœ๋งŒ ์‚ฌ์šฉํ–ˆ์—ˆ๋Š”๋ฐ์š”, ES6์—์„œ ๋“ฑ์žฅํ•œ let ๊ณผ const๋Š” ์–ด๋–ค์ ์—์„œ ๋‹ค๋ฅธ์ง€ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. โ€ป let : let์€ ๋ณ€์ˆ˜๊ฐ€ ์„ ์–ธ๋œ ๋ธ”๋ก, ๊ตฌ๋ฌธ ๋˜๋Š” ํ‘œํ˜„์‹ ๋‚ด์—์„œ๋งŒ ์œ ํšจํ•œ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•œ๋‹ค. ์ด๋Š” var ํ‚ค์›Œ๋“œ๊ฐ€ ๋ธ”๋ก ๋ฒ”์œ„๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ์ „์—ญ ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜ ์ง€์—ญ ๋ณ€์ˆ˜๋กœ ์„ ์–ธ๋˜๋Š” ๊ฒƒ๊ณผ ๋‹ค๋ฅธ ์ ์ด๋‹ค. var ํ‚ค์›Œ๋“œ์™€ ๋น„๊ตํ•ด์„œ ์„ค๋ช…์„ ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ๊ทธ๋Ÿผ var ํ‚ค์›Œ๋“œ์™€ ๋น„๊ตํ–ˆ์„ ๋•Œ ์–ด๋–ค ์ฐจ์ด์ ์ด ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 1. ์ค‘๋ณต์„ ์–ธ var x = 5; var x = 7; var x = 0; var ํ‚ค์›Œ๋“œ๋กœ๋Š” ์ด๋ ‡๊ฒŒ ์จ๋„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทผ๋ฐ ๋ณดํ†ต ์ด๋ ‡๊ฒŒ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜..

6. default + rest + spread

์ด๋ฒˆ์— ๋‹ค๋ฃฐ ๋‚ด์šฉ์€ default + rest + spread ์ž…๋‹ˆ๋‹ค. ๋‚ด์šฉ์€ ํฌ๊ฒŒ ์–ด๋ ต์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ ์–ด๋„ default๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋‹ค๋ณด๋ฉด ๋งŽ์ด ๋“ฃ๋˜ ๋ง ์ค‘์— ํ•˜๋‚˜์ฃ . Rest์™€ Spread ๋˜ํ•œ ๊ธฐ์กด์— ES5์—์„œ ์‚ฌ์šฉํ–ˆ๋˜ ๋ฐฉ๋ฒ•์„ ์ข€ ๋” ๊ฐ„๊ฒฐํ•˜๊ณ  ๊ฐ„ํŽธํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ƒˆ๋กœ์šด ์—ฐ์‚ฐ์ž๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. โ– default: ๊ธฐ๋ณธ ๊ฐ’์ด๋ผ๋Š” ๋œป์ด์ฃ . ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ๊ธฐ๋ณธ ๊ฐ’์ด ์—†๋‹ค๋ฉด undefined ๋ผ๋Š” ๊ฐ’์„ ๊ฐ–๊ณ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ ๊ฐ’์ด ์—†๋‹ค๋Š” ๋œป์ด์ฃ . ํ•˜์ง€๋งŒ ๋•Œ์— ๋”ฐ๋ผ์„œ ๊ฐ’์˜ ์ž…๋ ฅ์ด ์—†์–ด๋„ ๊ธฐ๋ณธ ๊ฐ’์„ ์ •ํ•ด์ค˜์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. 1234567//ES5function inc(number, increment) { increment = increment || 1; return number..

5. destructuring

์ด๋ฒˆ์— ๋‹ค๋ค„๋ณผ ์ฃผ์ œ๋Š” destructuring ์ž…๋‹ˆ๋‹ค. ์ผ๋‹จ destructuring์€ ๋ถ„ํ•ด, ํŒŒ๊ดด ์ด๋Ÿฐ ์˜๋ฏธ๋กœ ์“ฐ์ด๋Š” ๋‹จ์–ด์ธ๋ฐ์š”, MDN์—์„œ ๊ฒ€์ƒ‰ํ•ด๋ณด๋ฉด ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น ์ด๋ผ๋Š” ํŒŒํŠธ๋กœ ์„ค๋ช…์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์š”์•ฝ์„ค๋ช…์€ ์ด๋ ‡์Šต๋‹ˆ๋‹ค. โœ”๏ธ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น(destructuring assignment) ๊ตฌ๋ฌธ์€ ๋ฐฐ์—ด์ด๋‚˜ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ํ•ด์ฒดํ•˜์—ฌ ๊ทธ ๊ฐ’์„ ๊ฐœ๋ณ„ ๋ณ€์ˆ˜์— ๋‹ด์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ‘œํ˜„์‹(expression)์ž…๋‹ˆ๋‹ค. ๋ฐฐ์—ด์ด๋‚˜ ๊ฐ์ฒด๊ฐ™์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ž๋ฃŒํ˜•์— ๋Œ€ํ•ด์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์†์„ฑ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•  ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์“ฐ์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ž์—ด์ด๋‚˜ ์ˆซ์ž์™€ ๊ฐ™์€ ์ž๋ฃŒํ˜•์—์„œ๋Š” ์“ฐ์ด์ง€ ์•Š๊ณ , ๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด์— ๋Œ€ํ•ด์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. โ– ๋ฐฐ์—ด ๋””์ŠคํŠธ๋Ÿญ์ฒ˜๋ง : ๋ฐฐ์—ด..

4. template strings

์ด๋ฒˆ์— ์†Œ๊ฐœํ•  ๋ถ€๋ถ„์€ template strings ์ž…๋‹ˆ๋‹ค. ์ผ๋ช… "๋ฐฑํ‹ฑ" ์ด๋ผ๊ณ ํ•˜๋Š” ` (๋Š๋‚Œํ‘œ ์™ผ์ชฝ์— ์žˆ๋Š” ๋ฌธ์ž) ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ์ ‘ํ–ˆ๋˜ ๋ฐฑํ‹ฑ์˜ ๊ธฐ๋Šฅ์€ ์—ฌ๋Ÿฌ ์ค„์— ๊ฑธ์นœ ๋ฌธ์ž์—ด์„ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. Multi-line strings1234567var str = `๋™ํ•ด๋ฌผ๊ณผ ๋ฐฑ๋‘์‚ฐ์ด ๋งˆ๋ฅด๊ณ ๋‹ณ๋„๋กํ•˜๋Š๋‹˜์ด ๋ณด์šฐํ•˜์‚ฌ ์šฐ๋ฆฌ ๋‚˜๋ผ๋งŒ์„ธ๋ฌด๊ถํ™” ์‚ผ์ฒœ๋ฆฌ ํ™”๋ ค๊ฐ•์‚ฐ๋Œ€ํ•œ์‚ฌ๋žŒ ๋Œ€ํ•œ์œผ๋กœ ๊ธธ์ด๋ณด์ „ํ•˜์„ธ`console.log(str)cs ์ด๋Ÿฐ์‹์œผ๋กœ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด์„ ์—ฌ๋Ÿฌ์ค„์— ๊ฑธ์ณ์„œ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํŽธ๋ฆฌํ•˜๊ธด ํ•˜๊ฒ ์ง€๋งŒ ์ €๋ ‡๊ฒŒ ๊ธด ๋ฌธ์ž์—ด๋ณ€์ˆ˜๋ฅผ ์“ธ ์ผ์ด ์–ผ๋งˆ๋‚˜ ์žˆ์„๊นŒ์š”? ๋‹ค๋ฅธ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ๋“ค์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Expression interpolation(ํ‘œํ˜„์‹ ์‚ฝ์ž…๋ฒ•)12345var month = 12var season =..

javascript๋กœ ๋๋ง์ž‡๊ธฐ ๋งŒ๋“ค๊ธฐ

์ฝ˜์†”ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋˜๋Š” ๊ฐ„๋‹จํ•œ ๋๋ง์ž‡๊ธฐ ๊ฒŒ์ž„์„ javascript๋กœ ๋งŒ๋“ค์–ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ES6๋ฌธ๋ฒ•์„ ์ตํžˆ๊ธฐ ์œ„ํ•ด class๋ฅผ ์ด์šฉํ•ด์„œ ๋งŒ๋“ค์—ˆ๊ณ , ๊ธฐํƒ€ ๋‹ค๋ฅธ ๋ฌธ๋ฒ•๋“ค๋„ ES6์—์„œ ๋‚˜์˜ค๋Š” ๋ฌธ๋ฒ•๋“ค์„ ๋ช‡๋ช‡ ์‚ฌ์šฉํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ์™€ ๋๋ง์ž‡๊ธฐ๋ฅผ ๋Œ€๊ฒฐํ•˜๋Š” ๊ฒŒ์ž„์ธ๋ฐ ์ปดํ“จํ„ฐ๋Š” dict.txt ํŒŒ์ผ์— ์žˆ๋Š” ๋‹จ์–ด๋ฅผ ๊ฐ€์ง€๊ณ  ์‚ฌ์šฉ์ž๋ฅผ ์ƒ๋Œ€ํ•ฉ๋‹ˆ๋‹ค. ๋„ค์ด๋ฒ„ ๊ตญ์–ด์‚ฌ์ „์— ๋“ฑ์žฌ๋˜์–ด์žˆ๋Š” ๋‹จ์–ด๋“ค์„ ์ˆ˜๋กํ•ด ์ €์žฅ ํ•ด๋†“์€ ๊ฒƒ์ธ๋ฐ ์ด๊ฒŒ ์ •๋ง ์žˆ๋Š” ๋ง์ธ๊ฐ€ ์‹ถ์€ ๋‹จ์–ด๋“ค๋„ ๊ฝค ๋ฉ๋‹ˆ๋‹ค..ใ…‹ใ…‹ ์‹คํ–‰๋ฐฉ๋ฒ•์€ node endToEnd.js ๋กœ ํ„ฐ๋ฏธ๋„์ด๋‚˜ ์ฝ˜์†”ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ…์ŠคํŠธ ํŒŒ์ผ์— ๋๋ง์ž‡๊ธฐ ๊ทœ์น™์— ๋งž๋Š” ๋‹จ์–ด๊ฐ€ ์—†์„ ์‹œ์—๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๊ทœ์น™์€ ์ด๋ ‡์Šต๋‹ˆ๋‹ค. 1. ์ž…๋ ฅ ๊ฐ€๋Šฅ ๋‹จ์–ด๋Š” 2๊ธ€์ž์ด์ƒ์ž…๋‹ˆ๋‹ค.2. ๋‹น์—ฐํžˆ ์ƒ๋Œ€๋ฐฉ์ด ์ž…๋ ฅํ•œ ๋๋ง๋กœ ์‹œ์ž‘ํ•œ ..

3 enhanced object literals

์ด๋ฒˆ์— ๋‹ค๋ค„๋ณผ ์ฃผ์ œ๋Š” ๋ฒˆ์—ญํ•ด๋ณด๋ฉด ํ–ฅ์ƒ๋œ ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด(?) ์ด๋ ‡๊ฒŒ ๋ฒˆ์—ญ ๋  ๋“ฏ ํ•œ๋ฐ, ๊ฐ„๋‹จํžˆ ๋งํ•˜์ž๋ฉด ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ์— ์žˆ์–ด์„œ ์กฐ๊ธˆ ๋” ๊ฐ€๋…์„ฑ ์ข‹๊ณ  ์งง์€ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒŒ๋” ํ•ด์ฃผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ”ํžˆ javascript๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐ์ดํ„ฐํƒ€์ž… ์ข…๋ฅ˜๋ฅผ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š๋Š”๋ฐ ์‚ฌ์‹ค ์ด๋Ÿฌํ•œ new ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด์„œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์‹œ์ž‘์„ ํ•ด์•ผํ•˜์ฃ  ์ด๋Ÿฐ ์‹์œผ๋กœ์š”123456//์ˆซ์žvar num = new Number();//๋ฌธ์ž์—ดvar str = new String();//๊ฐ์ฒดvar obj = new Object();cs ๊ทธ์น˜๋งŒ ๋ณดํ†ต์€ ์ด๋ ‡๊ฒŒ new ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ๋ณ€์ˆ˜์— ๊ฐ’์„ ๋‹ด๋Š”๊ฒŒ ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. 123456//์ˆซ์žvar num = 1//๋ฌธ์ž์—ดvar str = "hello"//๊ฐ์ฒดvar obj ..

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2024/11   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
๊ธ€ ๋ณด๊ด€ํ•จ