์๋ฐ์คํฌ๋ฆฝํธ (5) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [JS] Object ๋ณ์ ๋ฐ์ดํฐ ์ถ๊ฐ, ๋ฌธ์์ด(String)์ ์ด์ฉํ ๋์ ์ ๊ทผ ๋ฐฉ๋ฒ ๐ฅธ JavaScript Object ๊ฐ์ฒด ๋ฌธ์์ด์ ์ด์ฉํด ๋์ ์ผ๋ก ๋ฐ์ดํฐ ์ถ๊ฐ, ์ญ์ ํ๊ธฐ ์๋ฐ์คํฌ๋ฆฝํธ์ Object ๊ฐ์ฒด๋ key, value ํํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค. ๐ค ํ๋กํผํฐ ์ ๊ทผ๋ฒ์ผ๋ก ๋ฐ์ดํฐ ์ถ๊ฐ, ๋์ฒด ํ๊ธฐ var object = {}; object.arr = [];// obect์ arr๊ฐ ์๋ค๋ฉด ๋น ๋ฐฐ์ด([])์ ์ถ๊ฐ, ์กด์ฌํ๋ค๋ฉด ๋์ฒด console.log(object); // { arr: [] } object.arr.push('first');// object ์์ arr์ ๋ฌธ์์ด 'first' ์ถ๊ฐ console.log(object.arr); // [ 'first' ] object.arr = [];// ๊ธฐ์กด์ ์๋ arr๋ฅผ ๋น ๋ฐฐ์ด๋ก ๋์ฒด console.log(object.arr); /.. [JS] ์๋ฐ์คํฌ๋ฆฝํธ์ ์์๊ณผ prototype ์ด๋ฒ์ ํ์ฌ์์ ๋ฐฐ์น๋ฐ์ ํ์ ๋ชจ๋ฐ์ผ ์๋น์ค ํ์ด์๋ค. ๋ค์ดํฐ๋ธ ์ฑ ์๋์ ์น ๋ทฐ๋ฅผ ์ ๊ณตํ๋๋ฐ ๋น๋ถ๊ฐ์ ํ๋ก ํธ ๋ถ๋ถ์ ๋ค๋ฃจ๊ฒ ๋ ๊ฒ ๊ฐ๋ค. JS๋ DOM ์กฐ์ ์ธ์๋ ๋ค๋ค๋ณผ ๊ธฐํ๊ฐ ์์๊ธฐ์ ์ด๋ฒ์ prototype์ ๋ํ ๊ฐ๋ ๋ ์ฒ์ ์๊ฒ ๋์๋ค. JS๋ prototype ๊ธฐ๋ฐ ์ธ์ด๋ผ๊ณ ๋ถ๋ฆฐ๋ค๋๋ฐ ๊ธฐ๋ณธ๋ ๋ชฐ๋๋ ๊ฑฐ์์๋ค... ํ ๋์ JS๋ฅผ ์ด์ฌํ ๊ณต๋ถํด์ผํ ๊ฒ ๊ฐ๋ค. prototype์ JS์์ ๊ฐ์ฒด์ ์์์ ๋ค๋ฃจ๋ ๊ฐ๋จํ๋ฉด์, ์ค์ํ ๊ฐ๋ ์ด์๋ค. ์ฌ์ค JS๋ ์ด๋ฐ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค๋ ๊ฒ์ ๋๋ผ๊ธฐ๋ ํ๋ค. ๋ ์ญ์ JS๋ต๊ฒ ๊ต์ฅํ ์ฌํํ๋ค. ๐ง ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด ์์ฑ function MyObject(์ธ์) { this.property1 = ... this.property2 = ์ธ์ } class MyOb.. [JavaScript] String-boot ์น ์์ผ(WebSocket)์ ์ด์ฉํ ์ค์๊ฐ ์ฑํ ๊ตฌํ - Session Storage ํ์ฉํ๊ธฐ ์๊ฐ ์ WebSocket์ ์ฌ์ฉํ์๋? Spring-boot WebSocket ์ฌ์ฉ๋ฒ(์ค์ ๋ฒ) ์์ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์์ฑํด๋ณด๊ธฐ ๋ฐ์ํ ๋ฌธ์ ์ ํด๊ฒฐ ๋ฐฉ๋ฒ ใด HTTP session ๊ฐ์ ธ์ค๊ธฐ -> interception ์ฌ์ฉ ใด DB๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๊ธฐ์กด ๋ฉ์์ง ์ ์ฅํ๊ธฐ -> Session Storage ์ฌ์ฉํ๊ธฐ ์ต๊ทผ ์์ฑ ์ค์ธ ๊ฐ์ธ ํ๋ก์ ํธ์์ ์น์ ์ ์ํ ํด๋ผ์ด์ธํธ์ ์ค์๊ฐ ์ฑํ ์ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํด๋ณด๋ ค๊ณ ํ๋ค. ๐ค ์ WebSocket์ ์ฌ์ฉํ์๋? ์ฌ๊ธฐ์ ๋งํ๋ ์น ์์ผ์ Spring Framework์ STOMP๊ฐ ์๋ ์์ JavaScript๋ฅผ ํ์ฉํ ์์ ์ ๋๋ค. jquery๋ ์ฌ์ฉํ์ง ์์ต๋๋ค. WebSocket์ด ํ์ํ๋ ์ด์ ์์๋งํ๋ฏ ์ค์๊ฐ ๋ผ์ด๋ธ ์ฑํ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ ์ถ์๋ค. ํ์ง๋ง, ๊ธฐ.. ์๋ฐ ์คํฌ๋ฆฝํธ ๊ธฐ์ด / ๊ธ์์ ๊ณ์ฐ๊ธฐ ๊ธ์์ ๊ณ์ฐ๊ธฐ ๋ง๋ค๊ธฐ with ์๋ฐ์คํฌ๋ฆฝํธ ํ์์ง์ 1. getElementById๋ฅผ ์ด์ฉํด ใด DOM(Document Object Model)์ id ๊ฐ์ ธ์ค๊ธฐ 2. onkeydown ์ด๋ฒคํธ HTML ์ฝ๋ ์๊ธฐ์๊ฐ // ์ ๋ชฉ ์ ๋ ฅ ์ ๋ ฅํ์ธ์ (0/200) ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ ์๋ฐ ์คํฌ๋ฆฝํธ ๋ ํ ๊ธฐ์ด / ์ฝ๋ ๋ฏ์ด ๋ณด๊ธฐ #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.. ์ด์ 1 ๋ค์