๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๐Ÿ–Œ๏ธWeb (39)

ruriruriya

[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ - ํด๋ž˜์Šค์™€ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฆฌ๊ณ  ํ•„๋“œ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ํด๋ž˜์Šค์™€ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฆฌ๊ณ  ํ•„๋“œ์— ๋Œ€ํ•ด ๋ถ•์–ด๋นต์œผ๋กœ ์˜ˆ์‹œ๋ฅผ ๋“ค ์•Œ์•„๋ณด์ž. ํด๋ž˜์Šค(Class) ํด๋ž˜์Šค๋Š” ๋ถ•์–ด๋นต์„ ๋งŒ๋“œ๋Š” ํ‹€๊ณผ ๊ฐ™๋‹ค. ๋ถ•์–ด๋นต ํ‹€์€ ๋ถ•์–ด๋นต์ด ์–ด๋–ค ๋ชจ์–‘์„ ๊ฐ€์งˆ์ง€, ์–ด๋–ค ์žฌ๋ฃŒ๊ฐ€ ํ•„์š”ํ•œ์ง€ ๋“ฑ์„ ์ •์˜ํ•œ๋‹ค. ์ด ํ‹€์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์ œ ๋ถ•์–ด๋นต์„ ์—ฌ๋Ÿฌ ๊ฐœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ํ‹€: ๋ถ•์–ด๋นต์˜ ๊ธฐ๋ณธ์ ์ธ ํ˜•ํƒœ์™€ ํ•„์š”ํ•œ ์žฌ๋ฃŒ๋ฅผ ์ •์˜ํ•œ๋‹ค. ์žฌ์‚ฌ์šฉ์„ฑ: ๋™์ผํ•œ ํ‹€์„ ์‚ฌ์šฉํ•ด ์—ฌ๋Ÿฌ ๋ฒˆ ๋ถ•์–ด๋นต์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์บก์Šํ™”: ๋ถ•์–ด๋นต์˜ ๋ชจ์–‘๊ณผ ์žฌ๋ฃŒ๋ฅผ ํ•˜๋‚˜์˜ ํ‹€๋กœ ๋ฌถ์–ด ๋†“๋‹ค. ์ƒ์† ๊ฐ€๋Šฅ: ๋‹ค๋ฅธ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์†์„ฑ๊ณผ ๋ฉ”์„œ๋“œ๋ฅผ ์ƒ์†๋ฐ›์•„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ. ์ธ์Šคํ„ด์Šค(Instance) ์ธ์Šคํ„ด์Šค๋Š” ํด๋ž˜์Šค๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์‹ค์ œ ๋ถ•์–ด๋นต์ด๋‹ค. ๋ถ•์–ด๋นต ํ‹€์— ๋ฐ˜์ฃฝ์„ ๋ถ€์–ด ์‹ค์ œ๋กœ ๊ตฌ์šด ๊ฒฐ๊ณผ๋ฌผ์ด ๋ฐ”๋กœ ์ธ์Šคํ„ด์Šค์ด๋‹ค. ๊ฐ๊ฐ์˜ ๋ถ•์–ด๋นต์€ ๋…๋ฆฝ์ ์œผ๋กœ ์กด์žฌํ•˜..

๐Ÿ–Œ๏ธWeb/JavaScript 2024. 4. 15. 15:35
[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ - Set๊ณผ Map ๊ทธ๋ฆฌ๊ณ  ๋ฐฐ์—ด๊ณผ ๊ฐ์ฒด์™€์˜ ์ฐจ์ด์ 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ Set๊ณผ Map, ์ด๊ฒƒ๋“ค์ด ๋ฐฐ์—ด๊ณผ ๊ฐ์ฒด์™€์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณด์ž. Set Set ๊ฐ์ฒด๋Š” ๊ฐ’์˜ ์ง‘ํ•ฉ์œผ๋กœ, ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ฐ ์š”์†Œ๋Š” ์œ ์ผ๋ฌด์ดํ•˜๋ฉฐ, ์‚ฝ์ž… ์ˆœ์„œ๊ฐ€ ์œ ์ง€๋œ๋‹ค. Set๊ณผ ๋ฐฐ์—ด์˜ ์ฐจ์ด์  ํŠน์„ฑ Set ๋ฐฐ์—ด ์ค‘๋ณต ํ—ˆ์šฉ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Œ ํ—ˆ์šฉํ•จ ์š”์†Œ ์ ‘๊ทผ ์ธ๋ฑ์Šค ์—†์Œ ์ธ๋ฑ์Šค ์žˆ์Œ ์ˆœ์„œ ์œ ์ง€ ์œ ์ง€ํ•จ ์œ ์ง€ํ•จ ์„ฑ๋Šฅ ๊ฒ€์ƒ‰๊ณผ ์œ ๋‹ˆํฌ ๊ด€๋ฆฌ์— ์œ ๋ฆฌ ๊ฒ€์ƒ‰ ๋ฐ ์ •๋ ฌ์—์„œ ์„ฑ๋Šฅ ์ €ํ•˜ ๊ฐ€๋Šฅ [ Set์˜ ์ฃผ์š” ํ•จ์ˆ˜์™€ ์˜ˆ์‹œ ] add(value): ์ง‘ํ•ฉ์— ๊ฐ’์„ ์ถ”๊ฐ€ delete(value): ์ง‘ํ•ฉ์—์„œ ๊ฐ’์„ ์ œ๊ฑฐ has(value): ์ง‘ํ•ฉ์— ํŠน์ • ๊ฐ’์ด ์žˆ๋Š”์ง€ ํ™•์ธ clear(): ์ง‘ํ•ฉ์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ œ๊ฑฐ size: ์ง‘ํ•ฉ์˜ ํฌ๊ธฐ๋ฅผ ๋ฐ˜ํ™˜ let mySet = new Set(); // ๊ฐ’ ์ถ”๊ฐ€ mySet.add..

๐Ÿ–Œ๏ธWeb/JavaScript 2024. 4. 15. 14:33
[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ - undefined์™€ null ์˜ ์ฐจ์ด

null๊ณผ undefined๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋‹ค. ์ด ๋‘˜์€ ๋น„์Šทํ•ด๋ณด์ด์ง€๋งŒ ์ฐจ์ด์ ์ด ๋ถ„๋ช…ํ•˜๋‹ค. null์€ ์•„๋ฌด๊ฒƒ๋„ ์—†์Œ์„ ์˜๋„์ ์œผ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์œผ๋กœ ๋ณ€์ˆ˜๊ฐ€ '๋น„์–ด์žˆ์Œ' ๋˜๋Š” '์•„๋ฌด๊ฒƒ๋„ ์ฐธ์กฐํ•˜์ง€ ์•Š์Œ'์„ ์˜๋„์ ์œผ๋กœ ํ‘œํ˜„ํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค. undefined๋Š” ๋ณ€์ˆ˜์˜ ๊ฐ’์ด ํ• ๋‹น๋˜์ง€ ์•Š์Œ์„ ๋‚˜ํƒ€๋‚ด๊ณ  ๋ณ€์ˆ˜๊ฐ€ ์„ ์–ธ๋˜์—ˆ์œผ๋‚˜ ์•„์ง ์–ด๋–ค ๊ฐ’๋„ ํ• ๋‹น๋˜์ง€ ์•Š์•˜์„ ๋•Œ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ทธ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ undefined๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค. [์˜ˆ์‹œ] // false๋Š” ๊ฐ’์ด ์žˆ๊ณ  null์€ ๊ฐ’์€ ์žˆ๋Š” ๋ฐ ์•„๋ฌด ๊ฒƒ๋„ ์•„๋‹Œ ์ƒํƒœ(๋น„์–ด์žˆ๋Š”) const amIFat=null; // ๋ณ€์ˆ˜๋Š” ์กด์žฌํ•˜๋Š” ๋ฐ ์ •์˜๋˜์ง€ ์•Š์Œ // ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์—๋Š” ์กด์žฌํ•˜๋ฉด์„œ ๊ณต๊ฐ„์€ ์žˆ์ง€๋งŒ ๊ฐ’์ด ๋“ค์–ด๊ฐ€์ง€ ์•Š์€ ์ƒํƒœ let somthing; // null์€ ๋ณ€์ˆ˜ ์•ˆ์— ์–ด๋–ค..

[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ - const์™€ let์˜ ์ฐจ์ด์ , ๊ทธ๋ฆฌ๊ณ  var

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ์“ฐ์ด๋Š” ํ‚ค์›Œ๋“œ๋กœ๋Š” const์™€ let์ด ์žˆ๋‹ค. ๊ธฐ์กด์— var๋ผ๋Š” ํ‚ค์›Œ๋“œ๊ฐ€ ์žˆ์—ˆ์ง€๋งŒ var๋Š” ์–ธ์ œ ์–ด๋””์„œ๋‚˜ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๊ฒƒ๋ณด๋‹ค ์—…๊ทธ๋ ˆ์ด๋“œ ๋˜์–ด์„œ ES6์—์„œ ๋„์ž…๋˜์—ˆ๋‹ค. ์ฐจ์ด์ ์€ const๋Š” ์ƒ์ˆ˜์ด๊ณ , ๊ฐ’์ด ๋ฐ”๋€” ์ˆ˜ ์—†๋‹ค. let์€ ์ƒˆ๋กœ์šด ๊ฒƒ์„ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๊ณ  ๊ทธ ํ›„์—๋Š” let ํ‚ค์›Œ๋“œ๋ฅผ ์“ฐ์ง€ ์•Š๊ณ  ์ฒ˜์Œ ์ƒ์„ฑํ–ˆ๋˜ ๋ณ€์ˆ˜๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. ๋ณดํ†ต const๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ๋ณ€์ˆ˜๋ฅผ ์—…๋ฐ์ดํŠธ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” let ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๊ฒฐ๋ก ์ ์œผ๋กœ ๊ฐ•๋ ฅ๊ถŒ์žฅํ•˜๋Š” ๊ทœ์น™์€, ๊ธฐ๋ณธ์ ์œผ๋กœ const๋ฅผ ์“ฐ๊ณ  ํ•„์š”ํ•  ๋•Œ๋งŒ let์„ ์“ฐ๋˜, var๋Š” ์“ฐ์ง€ ๋ง ๊ฒƒ์„ ๊ฐ•์กฐํ•œ๋‹ค. [์˜ˆ์‹œ] //์ƒ์ˆ˜ ๋ฐ”๋€Œ์ง€ ์•Š์€ ๊ฐ’ ๊ณ„์† ์œ ์ง€ const a = 5; const b..

[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ - HTML์—์„œ ์ด๋ฒคํŠธ๋กœ JS ์‹คํ–‰ํ•˜๊ธฐ

onclick ์†์„ฑ ๊ฐ’์œผ๋กœ๋Š” ๋ฐ˜๋“œ์‹œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋“ค์–ด๊ฐ€์•ผ ํ•œ๋‹ค. ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ธฐ์–ตํ•˜๊ณ  ์žˆ๋‹ค๊ฐ€ onclick ์†์„ฑ์˜ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ํด๋ฆญํ–ˆ์„ ๋•Œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌธ๋ฒ•์— ๋”ฐ๋ผ ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋™์ž‘ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒƒ์„ ์ด๋ฒคํŠธ๋ผ๊ณ  ํ•œ๋‹ค. HTML ์†์„ฑ JavaScript ์ด๋ฒคํŠธ ์›น๋ธŒ๋ผ์šฐ์ €์—์„œ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋Š” ์ด๋ฒคํŠธ ์ข…๋ฅ˜์—๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœ ํด๋ฆญ ์‹œ, ๊ธ€์”จ ์ž…๋ ฅ ์‹œ ๋“ฑ์ด ์žˆ๋‹ค. 10๊ฐœ์—์„œ 20๊ฐœ ์ •๋„ ๋˜๋Š” ์ด๋ฒคํŠธ๋“ค์„ ์ •์˜ํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ ์ด๋ฒคํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์›นํŽ˜์ด์ง€, ์›น์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. onclick: ์š”์†Œ๋ฅผ ํด๋ฆญํ•  ๋•Œ ๋ฐœ์ƒ onmouseover: ์š”์†Œ ์œ„๋กœ ๋งˆ์šฐ์Šค๋ฅผ ์›€์ง์ผ ๋•Œ ๋ฐœ์ƒ onmouseout: ์š”์†Œ์—์„œ ๋งˆ์šฐ์Šค๋ฅผ ์›€์ง์ผ ๋•Œ ๋ฐœ์ƒ onkeydown: ํ‚ค๋ณด๋“œ์˜ ํ‚ค๋ฅผ ๋ˆ„๋ฅผ ๋•Œ ๋ฐœ์ƒ onkeyup:..