๐Ÿ’ป Programming/JS, TS

๐Ÿ’ป Programming/JS, TS

[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ css ์Šคํƒ€์ผ ๋ณ€๊ฒฝํ•˜๊ธฐ

DOM ์š”์†Œ์˜ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ 1) className Product Name 60/60 Submit input.warning { background-color: rgb(248, 191, 145); } #remaining-chars.warning { color:rgb(211, 109, 26); } const spanElement = document.getElementById('remaining-chars'); spanElement.className = 'warning'; element.className('some-class')๋กœ ํ•ด๋‹น ์š”์†Œ์— ํด๋ž˜์Šค๋ช…์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. className์œผ๋กœ css ํด๋ž˜์Šค ์ถ”๊ฐ€ํ•  ๋•Œ์˜ ๋‹จ์  : ์ด๋ฏธ ํด๋ž˜์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์š”์†Œ์˜ ๊ฒฝ์šฐ, ํ•ด๋‹น ํด๋ž˜์Šค๊ฐ€ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋กœ ๋ฎ์–ด์”Œ์–ด์ง„๋‹ค...

๐Ÿ’ป Programming/JS, TS

[JavaScript] ์ด๋ฒคํŠธ ๊ฐ์ฒด

Event ์œ ์ €๊ฐ€ ์‚ฌ์ดํŠธ์˜ ํŠน์ • ๋ถ€๋ถ„์— ์ž…๋ ฅ, ํด๋ฆญ, ์Šคํฌ๋กค ํ•˜๋Š” ๋“ฑ์˜ ํ–‰๋™์„ ์˜๋ฏธํ•œ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋ฒคํŠธ๋ฅผ ํƒ์ง€ํ•˜์—ฌ ํŠน์ • ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. ์›น์˜ ๊ฒฝ์šฐ ์ด๋ฒคํŠธ๋Š” ๋ธŒ๋ผ์šฐ์ € ์œˆ๋„์šฐ ๋‚ด์—์„œ ๋ฐœ์ƒ๋˜๋Š”๋ฐ, ๋‹ค์Œ์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์ด๋ฒคํŠธ ํƒ€์ž…๋“ค์ด ์žˆ๋‹ค. ์œ ์ €๊ฐ€ ์–ด๋–ค ์š”์†Œ๋ฅผ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ์–ด๋–ค ์š”์†Œ ์œ„์— ์ปค์„œ๋ฅผ ์˜ฌ๋ ค๋‘”๋‹ค(hover). ์œ ์ €๊ฐ€ ํ‚ค๋ณด๋“œ์—์„œ ํ‚ค๋ฅผ ์„ ํƒํ•œ๋‹ค. ์œ ์ €๊ฐ€ ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์˜ ํฌ๊ธฐ๋ฅผ ์žฌ์กฐ์ •ํ•˜๊ฑฐ๋‚˜ ๋‹ซ๋Š”๋‹ค. ์›น ํŽ˜์ด์ง€๊ฐ€ ๋กœ๋”ฉ์„ ์™„๋ฃŒํ–ˆ๋‹ค. ์–‘์‹(form)์ด ์ œ์ถœ๋˜์—ˆ๋‹ค. ๋น„๋””์˜ค๊ฐ€ ์žฌ์ƒ๋˜๊ฑฐ๋‚˜, ๋ฉˆ์ถ”๊ฑฐ๋‚˜, ํ˜น์€ ๋๋‚ฌ๋‹ค. ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์ด๋ฒคํŠธ๋ฆฌ์Šค๋„ˆ์˜ ์ฝœ๋ฐฑํ•จ์ˆ˜ let paragraphElement = document.body.firstElementChild; function changeParag..

๐Ÿ’ป Programming/JS, TS

[JavaScript] window&document ์ „์—ญ๊ฐ์ฒด์™€ DOM

์ „์—ญ window & document ๊ฐ์ฒด Built-in Variables & Functions ์ „์—ญ ๋ณ€์ˆ˜๋กœ ์ฝ”๋“œ ๋‚ด์—์„œ ํ•ญ์ƒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜ window ๊ฐ์ฒด ์ „์—ญ ๊ฐ์ฒด window ์ „์—ญ ๊ฐ์ฒด๋Š” ์›น ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ์—์„œ ์ „์—ญ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋ชจ๋“  ์ „์—ญ ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜๋Š” ์‹ค์ œ๋กœ ์ด window ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๋กœ ์กด์žฌํ•œ๋‹ค. window ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์„œ๋“œ. ํ•จ์ˆ˜ ๊ธฐํ˜ธ f๊ฐ€ ํ‘œ์‹œ๋œ ๊ฒƒ์ด ๋ฉ”์„œ๋“œ์ด๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒƒ์€ ํ”„๋กœํผํ‹ฐ์ด๋‹ค. window ๊ฐ์ฒด์— ๋‚ด์žฅ๋œ ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์„œ๋“œ๋“ค์€ window. ์—†์ด๋„ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋‹ค. alert ๋ฉ”์„œ๋“œ์˜ ๊ฒฝ์šฐ window.alert()๋กœ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ทธ๋ƒฅ alert()์œผ๋กœ๋„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ง์ด๋‹ค. ์œˆ๋„์šฐ์™€ ๋ธŒ๋ผ์šฐ์ € ํƒญ ์œˆ๋„์šฐ๋Š” ์›น ๋ธŒ๋ผ์šฐ..

๐Ÿ’ป Programming/JS, TS

[JavaScript] slice vs splice vs split ์ฐจ์ด์ 

๋งจ๋‚  ์“ฐ๋ฉด์„œ๋„ ์ด๋ฆ„์ด ๋น„์Šทํ•ด์„œ ๊ทธ๋Ÿฐ๊ฐ€ ์ € ์„ธ ๋ฉ”์„œ๋“œ๊ฐ€ ์ •๋ฆฌ๊ฐ€ ์•ˆ๋˜๊ณ  ํ—ท๊ฐˆ๋ ค์„œ ์ด ์ฐธ์— ํ•œ๋ฒˆ ์‹œ์›ํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณด์ž~! 1. slice Array.prototype.slice() ๋˜๋Š” String.prototype.slice() `slice()` ๋ฉ”์„œ๋“œ๋Š” ๋ฌธ์ž์—ด ๋˜๋Š” ๋ฐฐ์—ด์—์„œ ํŠน์ • ๋ฒ”์œ„์˜ ์š”์†Œ๋“ค์„ ๋ณต์‚ฌํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด ๋˜๋Š” ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. Array // ์˜ˆ์ œ ์ถœ์ฒ˜: MDN web docs - Array.prototype.slice() const animals = ['ant', 'bison', 'camel', 'duck', 'elephant']; console.log(animals.slice(2)); // Expected output: Array ["camel", "duck", "elephant"] con..

๐Ÿ’ป Programming/JS, TS

[TypeScript] Map

map์€ React.js์—์„œ๋Š” ์ฃผ๋กœ ๋ฐฐ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฟŒ๋ ค์ค„ ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ–ˆ์—ˆ๋Š”๋ฐ, ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์—์„œ ์‚ฌ์šฉ๋ฒ•์ด ์กฐ๊ธˆ ํŠน์ดํ•œ ๊ฒƒ ๊ฐ™์•„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. 1. Map์ด๋ž€? ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์—์„œ ์ œ๊ณต๋˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜๋กœ, Key์™€ Value์˜ ์Œ์„ ์ €์žฅํ•˜๋Š” ์ปฌ๋ ‰์…˜์ด๋‹ค. ์ด ์ปฌ๋ ‰์…˜์€ ๊ฐ’์— ๋Œ€ํ•œ ๊ณ ์œ ํ•œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. 2. Map์˜ ํŠน์ง• 1) ๊ณ ์œ ํ•œ key๊ฐ’ `Map`์€ key-value ์Œ์„ ์ €์žฅํ•˜๋Š”๋ฐ, ๊ฐ key๋Š” ์ค‘๋ณต๋  ์ˆ˜ ์—†์œผ๋ฉฐ uniqueํ•œ ๊ณ ์œ ๊ฐ’์ด์–ด์•ผ ํ•œ๋‹ค. key๊ฐ€ ์ค‘๋ณต๋  ๊ฒฝ์šฐ, ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ value๊ฐ€ ์ €์žฅ๋œ๋‹ค. 2) key-value ์Œ์œผ๋กœ ์ €์žฅ ๊ฐ ํ•ญ๋ชฉ์„ key-value์˜ ์Œ์œผ๋กœ ์ €์žฅํ•˜์—ฌ, key๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น key์— ์—ฐ..

๐Ÿ’ป Programming/JS, TS

[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ํฌ๋ฆฌ์Šค๋งˆ์Šค๊นŒ์ง€ ๋‚จ์€ ์‹œ๊ฐ„ ๊ณ„์‚ฐํ•˜๊ธฐ

๋‚˜๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ํฌ๋ฆฌ์Šค๋งˆ์Šค์˜ ๋ถ„์œ„๊ธฐ์™€ ๋ฌด๋“œ๋ฅผ ๋งค์šฐ ๋งค์šฐ ์ข‹์•„ํ•˜๋Š” ์‚ฌ๋žŒ์ด๋‹ค. ์•„์ง ํ•œ์—ฌ๋ฆ„๋„ ์ฑ„ ์˜ค์ง€ ์•Š์•˜์ง€๋งŒ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ ์˜ฌํ•ด ํฌ๋ฆฌ์Šค๋งˆ์Šค๊นŒ์ง€ ๋‚จ์€ ์‹œ๊ฐ„์„ ๊ณ„์‚ฐํ•ด ๋ณด์ž! 1. JavaScript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํฌ๋ฆฌ์Šค๋งˆ์Šค๊นŒ์ง€ ๋‚จ์€ ์‹œ๊ฐ„ ๊ณ„์‚ฐํ•˜๊ธฐ ๋จผ์ € HTML์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๊ณ , ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ดค์Œ! ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ธ”๋Ÿญ ๋‚ด์— ์ˆœ์„œ ๋‹จ๊ณ„๋ฅผ ์ฃผ์„์œผ๋กœ ์ ์–ด๋‘์—ˆ๊ณ , ์ž์„ธํ•œ ์„ค๋ช…์€ ์ฝ”๋“œ๋ธ”๋Ÿญ ํ•˜๋‹จ์—์„œ ํ’€์–ด์„œ ์ ์–ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. Santa is coming! // 1) ์‹œ๊ฐ„์„ ํ‘œ์‹œํ•  HTML ์š”์†Œ ์ง€์ • const countdownClock = document.querySelector(".countdown"); // 2) ํ•จ์ˆ˜ ์ž‘์„ฑํ•˜๊ธฐ const waitingXmas = () => { // (1) ์˜ค๋Š˜ ..

๐Ÿ’ป Programming/JS, TS

[JavaScript] var, let, const

1. ๋ณ€์ˆ˜๋ž€? 1) ์ •์˜ ํ•˜๋‚˜์˜ ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ํ™•๋ณดํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ์ž์ฒด ๋˜๋Š” ๊ทธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ถ™์ธ ์ด๋ฆ„ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€ ๋ฐ์ดํ„ฐ ๊ฐ’์„ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๊ณ , ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ ๊ฐ’์„ ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ ์‹๋ณ„์ž: ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์„ '์‹๋ณ„์ž(identifier)'๋ผ๊ณ ๋„ ํ•˜๋Š”๋ฐ, ์‹๋ณ„์ž๋Š” ๊ฐ’ ์ž์ฒด๊ฐ€ ์•„๋‹Œ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๊ธฐ์–ตํ•œ๋‹ค. ์‹๋ณ„์ž๋Š” ๋ณ€์ˆ˜๋ช…์— ๊ตญํ•œ๋œ ๊ฐœ๋…์ด ์•„๋‹ˆ๊ณ , ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ํด๋ž˜์Šค ๋“ฑ์˜ ์ด๋ฆ„์€ ๋ชจ๋‘ ์‹๋ณ„์ž๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. 2) ๋ณ€์ˆ˜์˜ ์ƒ์„ฑ 3๋‹จ๊ณ„ - ์„ ์–ธ, ์ดˆ๊ธฐํ™”, ํ• ๋‹น (1) ๋ณ€์ˆ˜ ์„ ์–ธ ๋ณ€์ˆ˜ ์„ ์–ธ์ด๋ž€ ๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ, ์ฆ‰ ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ™•๋ณดํ•˜๊ณ  ๋ณ€์ˆ˜๋ช…๊ณผ ํ™•๋ณด๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์˜ ์ฃผ์†Œ๋ฅผ ์—ฐ๊ฒฐํ•ด์„œ ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋„๋ก ์ค€๋น„ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธ..

Jiwon()
'๐Ÿ’ป Programming/JS, TS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก