๋ชฉ๋กProgramming/JavaScript (9)

๐Ÿ“ ์ ์–ด์„œ ๋จธ๋ฆฟ์†์œผ๋กœ

[JS] Promise ํ™œ์šฉ - ์‚ฌ์šฉ์ž ์ž…๋ ฅ์— ์˜ํ•œ ๋™์ž‘ ์ง„ํ–‰ / ๋ฏธ์ง„ํ–‰

JS๋ฅผ ํ™œ์šฉํ•˜๋Š” front ์†Œ์Šค์—์„œ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ํ†ตํ•ด์„œ ํ•จ์ˆ˜๋ฅผ ๋” ์ง„ํ–‰์‹œํ‚ฌ์ง€ ์ค‘๋‹จํ• ์ง€ ์ •ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์ด ์ƒ๊น๋‹ˆ๋‹ค. ๋ชจ๋“  Modal ์ฐฝ์„ ํ†ตํ•ด์„œ callback ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ๊ฐ ํ•จ์ˆ˜์—์„œ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ผ์ด ์—†์ง€๋งŒ, ๋ณต์žกํ•œ ๋น„์ง€๋‹ˆ์Šค ๋กœ์งํ•ด์„œํ•˜๋‚˜์˜ ํ•จ์ˆ˜์—์„œ ์—ฐ์†์ ์œผ๋กœ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๋ฐ›์•„ํ•  ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ ์‹ค๋ฌด์—์„œ ์œ„์™€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด์ ์ด ์žˆ๋Š”๋ฐ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•œ ๊ฐ„๋žตํ•œ ๊ธฐ๋ฒ•์„ ์ •๋ฆฌํ•ด ๋ด…๋‹ˆ๋‹ค. ์˜ˆ์‹œ์ฝ”๋“œlet success = '' //resolve๋ฅผ ๋‹ด์„ ๋ณ€์ˆ˜let fail = '' //reject๋ฅผ ๋‹ด์„ ๋ณ€์ˆ˜const returnPromise = () => { console.log("returnPromise call") return new P..

Programming/JavaScript 2025. 11. 6. 18:37
[JS] ๋ณด์•ˆ ํ‚คํŒจ๋“œ ์ž…๋ ฅ error ์˜ˆ์™ธ์ฒ˜๋ฆฌ(ft. isNaN)

ํšŒ์‚ฌ์—์„œ ์šด์˜ํ•˜๊ณ  ์žˆ๋Š” ์•ฑ์˜ ๋ณด์•ˆ ํ‚คํŒจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค์—์„œ ์ž˜๋ชป๋œ ์ž…๋ ฅ ๊ฐ’์œผ๋กœ ์ธํ•œ ์˜ค๋ฅ˜์˜ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„์—์„œ input ๊ฐ’ ๊ฒ€์ฆ์„ ํ†ตํ•ด์„œ ์—…๋ฌด ์˜ค๋ฅ˜๋ฅผ ๋ฑ‰์–ด๋‚ด ์ž˜๋ชป๋œ ์ •๋ณด๊ฐ€ ์—…๋ฐ์ดํŠธ ๋˜์ง€๋Š” ์•Š์•˜์—ˆ์ง€๋งŒ, ํ™”๋ฉด ์†Œ์Šค(front end)์—์„œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋ฏธํก์œผ๋กœ ์ž˜๋ชป๋œ input ๊ฐ’์„ ์„œ๋ฒ„(back end) ์ธก์œผ๋กœ ๋ณด๋‚ด๊ณ  ์žˆ์Œ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜ฎ ๋ฌธ์ œ ์ƒํ™ฉ๋ณด์•ˆ ํ‚คํŒจ๋“œ์˜ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฒคํŠธ์˜ value๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„์—์„œ numberic์˜ ๊ฒ€์ฆ์ด ๋˜์ง€ ์•Š์•„์„œ ์ˆซ์žํ˜• ๊ฐ’๋งŒ ๋“ค์–ด์™€์•ผํ•˜๋Š” ๋ถ€๋ถ„์— ์‹ค์ œ string์ด ๋“ค์–ด์˜ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๐Ÿ› ๏ธ ์กฐ์น˜๋ฐฉ๋ฒ•ํ‚คํŒจ๋“œ ์ด๋ฒคํŠธ๋ฅผ ํ†ตํ•ด์„œ ๋“ค์–ด์˜ค๋Š” value ๊ฐ’์„ ํ™”๋ฉด์—์„œ isNaN๋ฅผ ์‚ฌ์šฉํ•ด ํ•œ๋ฒˆ ๋” ์˜ˆ์™ธ์ฒ˜๋ฆฌ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ๋กœ์ง์˜ ๊ฒฝ์šฐ, value๊ฐ€ s..

Programming/JavaScript 2024. 8. 19. 15:00
[JS] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ƒ์†๊ณผ prototype

์ด๋ฒˆ์— ํšŒ์‚ฌ์—์„œ ๋ฐฐ์น˜๋ฐ›์€ ํŒ€์€ ๋ชจ๋ฐ”์ผ ์„œ๋น„์Šค ํŒ€์ด์—ˆ๋‹ค. ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ ์•„๋ž˜์— ์›น ๋ทฐ๋ฅผ ์ œ๊ณตํ•˜๋Š”๋ฐ ๋‹น๋ถ„๊ฐ„์€ ํ”„๋ก ํŠธ ๋ถ€๋ถ„์„ ๋‹ค๋ฃจ๊ฒŒ ๋  ๊ฒƒ ๊ฐ™๋‹ค. JS๋Š” DOM ์กฐ์ž‘ ์™ธ์—๋Š” ๋‹ค๋ค„๋ณผ ๊ธฐํšŒ๊ฐ€ ์—†์—ˆ๊ธฐ์— ์ด๋ฒˆ์— prototype์— ๋Œ€ํ•œ ๊ฐœ๋…๋„ ์ฒ˜์Œ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. JS๋Š” prototype ๊ธฐ๋ฐ˜ ์–ธ์–ด๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค๋Š”๋ฐ ๊ธฐ๋ณธ๋„ ๋ชฐ๋ž๋˜ ๊ฑฐ์‹œ์˜€๋‹ค... ํ•œ ๋™์•ˆ JS๋ฅผ ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค. prototype์€ JS์—์„œ ๊ฐ์ฒด์˜ ์ƒ์†์„ ๋‹ค๋ฃจ๋Š” ๊ฐ„๋‹จํ•˜๋ฉด์„œ, ์ค‘์š”ํ•œ ๊ฐœ๋…์ด์—ˆ๋‹ค. ์‚ฌ์‹ค JS๋„ ์ด๋Ÿฐ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค๋Š” ๊ฒƒ์— ๋†€๋ผ๊ธฐ๋„ ํ–ˆ๋‹ค. ๋˜ ์—ญ์‹œ JS๋‹ต๊ฒŒ ๊ต‰์žฅํžˆ ์‹ฌํ”Œํ–ˆ๋‹ค. ๐Ÿง ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด ์ƒ์„ฑ function MyObject(์ธ์ž) { this.property1 = ... this.property2 = ์ธ์ž } class MyOb..

Programming/JavaScript 2022. 8. 4. 20:00
[JavaScript] String-boot ์›น ์†Œ์ผ“(WebSocket)์„ ์ด์šฉํ•œ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๊ตฌํ˜„ - Session Storage ํ™œ์šฉํ•˜๊ธฐ

์†Œ๊ฐœ ์™œ WebSocket์„ ์‚ฌ์šฉํ•˜์˜€๋‚˜? Spring-boot WebSocket ์‚ฌ์šฉ๋ฒ•(์„ค์ •๋ฒ•) ์ˆœ์ˆ˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์ž‘์„ฑํ•ด๋ณด๊ธฐ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ์™€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ใ„ด HTTP session ๊ฐ€์ ธ์˜ค๊ธฐ -> interception ์‚ฌ์šฉ ใ„ด DB๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๊ธฐ์กด ๋ฉ”์‹œ์ง€ ์ €์žฅํ•˜๊ธฐ -> Session Storage ์‚ฌ์šฉํ•˜๊ธฐ ์ตœ๊ทผ ์ž‘์„ฑ ์ค‘์ธ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ์—์„œ ์›น์— ์ ‘์†ํ•œ ํด๋ผ์ด์–ธํŠธ์™€ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…์„ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด๋ณด๋ ค๊ณ  ํ–ˆ๋‹ค. ๐Ÿค” ์™œ WebSocket์„ ์‚ฌ์šฉํ•˜์˜€๋‚˜? ์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” ์›น ์†Œ์ผ“์€ Spring Framework์˜ STOMP๊ฐ€ ์•„๋‹Œ ์ˆœ์ˆ˜ JavaScript๋ฅผ ํ™œ์šฉํ•œ ์˜ˆ์ œ ์ž…๋‹ˆ๋‹ค. jquery๋„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. WebSocket์ด ํ•„์š”ํ–ˆ๋˜ ์ด์œ  ์•ž์„œ๋งํ–ˆ๋“ฏ ์‹ค์‹œ๊ฐ„ ๋ผ์ด๋ธŒ ์ฑ„ํŒ… ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ, ๊ธฐ..

Programming/JavaScript 2021. 12. 29. 20:30
์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ๋…ํ•™ ๊ธฐ์ดˆ / ์ฝ”๋“œ ๋œฏ์–ด ๋ณด๊ธฐ #1 / ๋žœ๋˜ ๋ฒˆํ˜ธ ์ƒ์„ฑ๊ธฐ

DOCTYPE html> ๋ฒˆํ˜ธ ์ƒ์„ฑ๊ธฐ ์›น ํŽ˜์ด์ง€ ์ด๋ฆ„ ๋žœ๋ค ๋ฒˆํ˜ธ ์ถ”์ฒจ๊ธฐ ํŽ˜์ด์ง€ ์ƒ๋‹จ ์ œ๋ชฉ var lotto = []; lotto ๋ผ๋Š” ์ด๋ฆ„์˜ array(๊ธ€์ž๋‚˜ ์ˆซ์ž๋ฅผ ๋‹ด๋Š” ๊ณต๊ฐ„) ์ƒ์„ฑ while (lotto.length 0 ์ด์ƒ 46๋ฏธ๋งŒ์˜ ์‹ค์ˆ˜๋ฅผ ์ƒ์„ฑ parseInt() -> () ์•ˆ์˜ ๊ฐ’์„ '์ •์ˆ˜'๋กœ ๋ณ€ํ™˜ if (lotto.indexOf(num) == -1) { ์กฐ๊ฑด๋ฌธ if๋ฅผ ์‚ฌ์šฉ, '(์กฐ๊ฑด)'์„ ๋งŒ์กฑํ•˜๋Š” ๋™์•ˆ '{๋‚ด์šฉ}'์„ ์ง„ํ–‰ ์กฐ๊ฑด lotto.indexOf(num) -> ๋ณ€์ˆ˜ num์ด lotto array ์•ˆ์— ์กด์žฌ ๋ช‡ ๋ฒˆ์งธ ํ•ญ๋ชฉ ๋‚˜ํƒ€๋ƒ„ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด -1 ๋žœ๋ค์œผ๋กœ ์ƒ์„ฑ๋œ ์ˆซ์ž๊ฐ€ ์ค‘๋ณต์ ์œผ๋กœ array์— ๋“ค์–ด๊ฐ€์ง€ ์•Š๊ฒŒ ํ•ด์ฃผ๊ธฐ ์œ„ํ•จ lotto.push(num); ์กฐ๊ฑด์„ ๋งŒ์กฑํ•œ๋‹ค๋ฉด lotto array..

Programming/JavaScript 2020. 11. 29. 23:38