Banner

My Tech Blog (Coding/JavaScript)

๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ๋งŒ๋“  ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ ๐Ÿฆ๋ชฉํ‘œ์ด๋ฒคํŠธ, ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ, ์ด๋ฒคํŠธ ๋ฒ„์Šค ๋ฐ addEventListener์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.๊ทธ๋ฆฌ๊ณ  jQuery์™€ Vanilla JavaScript์—์„œ ์ด๋ฒคํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ๋‹ค์‹œ ํ•œ ๋ฒˆ ๋งํ•˜์ง€๋งŒ jQuery๋Š” ํ•œ๋•Œ ์›น ๊ฐœ๋ฐœ์—์„œ ํ•„์ˆ˜์ ์ธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜€์ง€๋งŒ, ์ด์ œ๋Š” Vanilla JavaScript(์ˆœ์ˆ˜ JS)๋‚˜ React, Vue, Svelte ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๋Œ€์ฒดํ•˜๋ฉด์„œ ์‚ฌ์šฉ์ด ์ค„์–ด๋“ค๊ณ  ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ addEventListener ์œ„์ฃผ๋กœ๋งŒ ์ •๋ฆฌํ–ˆ๊ณ  ์ˆœ์ˆ˜ํ•˜๊ฒŒ ์ด๋ฒคํŠธ ์ข…๋ฅ˜๋งŒ ๊ถ๊ธˆํ•œ ์‚ฌ๋žŒ์€ 6๋ฒˆ๋ถ€ํ„ฐ ์ฝ์œผ๋ฉด ๋œ๋‹ค. 1. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ด๋ฒคํŠธ (JavaScript Event)์ด๋ฒคํŠธ(Event)๋Š” ์‚ฌ์šฉ์ž๋‚˜ ์‹œ์Šคํ…œ์ด ์›น ํŽ˜์ด์ง€์—์„œ ์ผ์œผํ‚ค๋Š” ๋™์ž‘์ด๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฒ„ํŠผ ํด..
ํƒ์ƒ‰์„ ํƒ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋ณธ ์„ ํƒ์ž๋กœ ์„ ํƒํ•œ ์š”์†Œ ์ค‘ ์›ํ•˜๋Š” ์š”์†Œ๋ฅผ ํ•œ ๋ฒˆ ๋” ํƒ์ƒ‰ํ•ด์„œ ์ข€ ๋” ์ •ํ™•ํ•˜๊ฒŒ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์„ ํƒํ•˜๋Š” `์œ„์น˜ํƒ์ƒ‰ ์„ ํƒ์ž`์™€ ๋ฐฐ์—ด์— ๋‹ด๊ฒจ์ง„ ์š”์†Œ ์ค‘ ์ง€์ •๋œ ์†์„ฑ๊ณผ ๊ฐ’์œผ๋กœ ์„ ํƒํ•˜๋Š” `์†์„ฑ ํƒ์ƒ‰ ์„ ํƒ์ž`๊ฐ€ ์žˆ๋‹ค.  1. ์œ„์น˜ ํƒ์ƒ‰ ์„ ํƒ์ž โ–ผ๊ธฐ๋ณธ ์„ ํƒ์ž๋กœ ์„ ํƒํ•œ ์š”์†Œ๋Š” ๋ฐฐ์—ด์— ๋‹ด๊ธฐ๊ฒŒ ๋œ๋‹ค.๊ทธ๋ž˜์„œ ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŠน์ • ์š”์†Œ๋ฅผ ์ข€ ๋” ์ •ํ™•ํ•˜๊ฒŒ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์ข…๋ฅ˜์šฉ๋ฒ•์„ค๋ช…$("์š”์†Œ ์„ ํƒ:first")$("์š”์†Œ ์„ ํƒ").first()$("li:first")$("li").first()์ „์ฒด ์š”์†Œ ์ค‘ ์ฒซ๋ฒˆ์งธ ์š”์†Œ๋งŒ ์„ ํƒ$("์š”์†Œ ์„ ํƒ:last")$("์š”์†Œ ์„ ํƒ").last()$("li:last")$("li").last()์ „์ฒด ์š”์†Œ ..
ํ•จ๊ป˜ ๋ณด๋ฉด ์ข‹์€ ๊ด€๋ จ ํฌ์ŠคํŒ… โ–ผ [JavaScript] jQuery๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์œ ์˜ํ•ด์•ผ ํ•  ์‚ฌํ•ญ๋“คโญ ๋ฌธ์„œ๊ฐ€ ๋กœ๋“œ๋œ ํ›„ ์‹คํ–‰ํ•˜์žโญ jQuery ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋จผ์ € ๋กœ๋“œํ•˜์žโญ $ ์ถฉ๋Œ ๋ฐฉ์ง€ ํ•„์š” ์‹œ noConflict โญ ์ด๋ฒคํŠธ ์ค‘๋ณต ๋ฐฉ์ง€ off()โญ AJAX ์บ์‹ฑ ๋ฐฉ์ง€ (cache: false) โญ ๋™์  ์š”์†Œ์— ์ด๋ฒคํŠธ ์ ์šฉ on()โญ ์„ฑ๋Šฅ ์ตœawesomepossum.tistory.com [JavaScript] Object(๊ฐ์ฒด), DOM(๋ฌธ์„œ๊ฐ์ฒด๋ชจ๋ธ), function() ํ•จ์ˆ˜ ๊ธฐ์ดˆ ์‹ค์Šต1. Object (๊ฐ์ฒด)  2. DOM (Document Object Model)2-1. DOM(๋ฌธ์„œ๊ฐ์ฒด๋ชจ๋ธ) ๋ฌธ์„œ๊ฐ์ฒด๋ชจ๋ธ(DOM) HTML CSS JS  2-2. innerHTML vs textContent ์˜ค๋Š˜์€ ๋ฌธ์„œ๊ฐ..
โญ ๋ฌธ์„œ๊ฐ€ ๋กœ๋“œ๋œ ํ›„ ์‹คํ–‰ํ•˜์žโญ jQuery ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋จผ์ € ๋กœ๋“œํ•˜์žโญ $ ์ถฉ๋Œ ๋ฐฉ์ง€ ํ•„์š” ์‹œ noConflict โญ ์ด๋ฒคํŠธ ์ค‘๋ณต ๋ฐฉ์ง€ off()โญ AJAX ์บ์‹ฑ ๋ฐฉ์ง€ (cache: false) โญ ๋™์  ์š”์†Œ์— ์ด๋ฒคํŠธ ์ ์šฉ on()โญ ์„ฑ๋Šฅ ์ตœ์ ํ™” (map(), .append() ์ตœ์†Œํ™”) 1. ๋ฌธ์„œ๊ฐ€ ์™„์ „ํžˆ ๋กœ๋“œ๋œ ํ›„ ์‹คํ–‰ํ•˜๊ธฐ์„ ํƒ์ž๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฌธ์„œ ๊ฐ์ฒด๋ฅผ ๋จผ์ € ๋ถˆ๋Ÿฌ์™€์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ HTML์ด ๋กœ๋“œ๋˜๊ธฐ ์ „์— jQuery ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋ฉด ์š”์†Œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.๐Ÿ“Œ ํ•ด๊ฒฐ์ฑ…: $(document).ready() ์‚ฌ์šฉ ๋˜๋Š” ๋ณ€๊ฒฝ๋  ํ…์ŠคํŠธ โญ• [๋ฐฉ๋ฒ• 2] $(document).ready() ์‚ฌ์šฉ ๋ณ€๊ฒฝ๋  ํ…์ŠคํŠธ$(document).ready()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์„œ๊ฐ€ ์™„์ „ํžˆ ..
1. Object (๊ฐ์ฒด)  2. DOM (Document Object Model)2-1. DOM(๋ฌธ์„œ๊ฐ์ฒด๋ชจ๋ธ) ๋ฌธ์„œ๊ฐ์ฒด๋ชจ๋ธ(DOM) HTML CSS JS  2-2. innerHTML vs textContent ์˜ค๋Š˜์€ ๋ฌธ์„œ๊ฐ์ฒด๋ชจ๋ธ์— ๋Œ€ํ•ด์„œ ๋ฐฐ์›Œ๋ณด์•˜๋‹ค 2-3. querySelector vs getElementByID์š”์ฆ˜์—๋Š” ์–ด์ฐจํ”ผ ๋‹ค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์“ฐ์ง€๋งŒ DOM ํ™œ์šฉํ•ด๋ณด๊ธฐ h1ํƒœ๊ทธ ๋‚ด์šฉ ๋ณ€๊ฒฝ a ํƒœ๊ทธ ์ƒ์„ฑ ulํƒœ๊ทธ ์ƒ์„ฑ   2-4. addEventListener ๋‚œ๋ฒ„ํŠผ์ด์ง€๋กฑ 2-5. ์˜ˆ์ œ1_counting 0 ์ฆ๊ฐ€ ๊ฐ์†Œ 2-6. ์˜ˆ์ œ2_๋ฐ˜๋ณต๋ฌธ ์ถœ๋ ฅ..
# ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด(Template Literal)ES6๋ถ€ํ„ฐ ์ƒˆ๋กœ ๋„์ž…๋œ ๋ฌธ์ž์—ด ํ‘œ๊ธฐ๋ฒ•๋ฌธ์ž์—ด ์ƒ์„ฑ์‹œ ๋”ฐ์˜ดํ‘œ ๋Œ€์‹ , ๋ฐฑํ‹ฑ(`)์„ ์‚ฌ์šฉvar str_01 = `hello world`;//๋ฐฑํ‹ฑ ์‚ฌ์šฉconst x='x';const y='y';const z='z';console.log(`${x}๋Š” x, ${y}๋Š” y, ${z}๋Š” z์ด๋‹ค. `); //x๋Š” x, y๋Š” y, z๋Š” z์ด๋‹ค. โ–ถ๏ธŽ ๋ฐฑํ‹ฑ(`)์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ JS ES6(ECMAScript 2015)๋ถ€ํ„ฐ ๋„์ž…๋˜์—ˆ๋‹ค.โ–ถ๏ธŽ ๊ฐœํ–‰ ๋ฌธ์ž(\n)๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ์ž๋™ ์ค„๋ฐ”๊ฟˆ โ–ถ๏ธŽ ์ƒ๊น€์ƒˆ๊ฐ€ ์ž‘์€๋”ฐ์›€ํ‘œ(')์™€ ๋น„์Šทํ•˜๋‹ˆ ํ—ท๊ฐˆ๋ฆฌ์ง€ ์•Š๋„๋ก ์ฃผ์˜# ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด - ๋ฐฑํ‹ฑ(`)์˜ ๊ธฐ๋Šฅ ์ค„๋ฐ”๊ฟˆ(๊ฐœํ–‰: Multi-line strings)  โ–ถ๏ธŽ ๋ฐฑํ‹ฑ(`)์œผ๋กœ ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด์„ ์‚ฌ์šฉํ•˜๋ฉด..
// JSON ๋ฐ์ดํ„ฐ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ JS ์‚ฌ์šฉ๋ฒ•// [1] : ๋ฐ์ดํ„ฐ const person = [ `{"name":"์ด์ˆœ์‹ ","age":20,"nationality":"๋Œ€ํ•œ๋ฏผ๊ตญ"}`, {"name":"๋งฅ์•„๋”","age":30,"nationality":"๋ฏธ๊ตญ"}, {"name":"์—˜๋ฆฌ์ž๋ฒ ์Šค","age":40,"nationality":"์˜๊ตญ"}, {"name":"์ž”๋‹ค๋ฅดํฌ","age":50,"nationality":"ํ”„๋ž‘์Šค"},]; console.log(typeof person); // objectconsole.log(typeof person[0]); // stringconsole.log(typeof person[1]); // object ์ฒซ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ์ž‘์€ ๋”ฐ์˜ดํ‘œ๋กœ ๊ฐ์‹ธ๋ฉด string ..
๋ธŒ๋ผ์šฐ์ € ์œ„์—์„œ ๋™์ž‘ํ•˜๋Š” ์›น์‚ฌ์ดํŠธ๋‚˜ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ฐ™์€ Client๋“ค์ด ์–ด๋–ป๊ฒŒ Server์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ์„๊นŒ? 1. HTTP(Hypertext Transfer Protocal)Client ์™€ Server ์ด ์–ด๋–ป๊ฒŒ Hypertext๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ์„ ์ง€ ๊ทœ์•ฝํ•œ ํ”„๋กœํ† ์ฝœClient๊ฐ€ Server์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ requestํ•˜๋ฉด, Server๋Š” ๊ทธ์— ๋งž๋Š” response๋ฅผ Client๋กœ ๋ณด๋ƒ„ 2. AJAX(Asynchronous JavaScript And XML)์›นํŽ˜์ด์ง€์—์„œ ๋™์ ์œผ๋กœ ์„œ๋ฒ„์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ๋Š” ๋ธŒ๋ผ์šฐ์ €API์—์„œ ์ œ๊ณตํ•˜๋Š” XMLHttpRequest(XHR) ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์žˆ๋‹ค.ํ˜น์€ fecth() API๋กœ ๊ฐ„ํŽธํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.  3. XMLhtm..
์ธ์ ˆ๋ฏธ์˜€๋˜๊ฒƒ
'Coding/JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก
์ƒ๋‹จ์œผ๋กœ