Language/JavaScript28 [JavaScript] ๋ง์ฐ์ค ๋ฐ ํ ์ด๋ฒคํธ (onMouseEnter, onMouseLeave, onWheel) [JavaScript] ๋ง์ฐ์ค ๋ฐ ํ ์ด๋ฒคํธ (onMouseEnter, onMouseLeave, onWheel)ํ์ฌ ์๋น์ค๋ฅผ ๊ตฌํ ํ๋ฉด์ ํ์ฌ ์์ฒด ์ปดํฌ๋ํธ ํดํ ์คํ๋๋ฌธ์,๋ง์ฐ์ค๊ฐ ํ ์คํธ ์์ ์กด์ฌ ํ์ง ์์์๋ ํ ์ด๋ฒคํธ ๋ฐ์์ ํดํ์ด ๊ณ์ ๋ ์๋ ํ์์ด ๋ฐ์ํ์๋ค. ๊ทธ๋์ tooltip์ด ๋ ์ผ ํ๋ ํ ์คํธ์ onMouseEnter, onMouseLeave, onWheel ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ค์ ์ฌ์ฉํ์ฌ ์ด๋ฅผ ํด๊ฒฐํ ์ ์์๋ค. onMouseEnter ์ด๋ฒคํธonMouseEnter ์ด๋ฒคํธ๋ ๋ง์ฐ์ค ํฌ์ธํฐ๊ฐ ํน์ ์์์ ์ฒ์์ผ๋ก ๋ค์ด๊ฐ์ ๋ ๋ฐ์ํ๋ ์ด๋ฒคํธ.์ด ์ด๋ฒคํธ๋ ์ฌ์ฉ์๊ฐ ๋ง์ฐ์ค๋ฅผ ์์ ์๋ก ์ด๋์ํฌ ๋ ํธ๋ฆฌ๊ฑฐ ๋๋ค.onMouseEnter๋ ํด๋น ์์์ ์์ ์์์๋ ์ด๋ฒคํธ๋ฅผ ์ ํํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ถ๋ชจ .. 2024. 5. 20. [JavaScript] ํ์ ์ฐฝ ๊ตฌํ - window.open [JavaScript] ํ์ ์ฐฝ ๊ตฌํ - window.openํ๋ก์ ํธ์์ ๊ธฐํ ๋ช ์ธ๋ฅผ ๋ฐํ์ผ๋ก ๋ ๋ฆฝ๋ ํ์ ์ฐฝ์ ๊ตฌํํด์ผ ํ๋ค.JavaScript์ window.open ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ํ์ ์ฐฝ์ ๊ตฌํํ์๋ค. window.open ๋ฉ์๋์ ๋ธ๋ผ์ฐ์ ์ฐฝ์ด๋ ํญ์ ์ด ๋ ์ฌ์ฉํ๋ ๋ฉ์๋window.open(url, windowName, [windowFeatures]);- url : ํ์ ์ฐฝ์ ๋ก๋ํ ํ์ด์ง URL- windowName : ํ์ ์ฐฝ์ ์ด๋ฆ. ๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง ์ฐฝ์ด ์ด๋ฏธ ์ด๋ ค์๋ค๋ฉด ํด๋น ์ฐฝ์ ์ฌ์ฌ์ฉ.- windowFeatures : ํ์ ์ฐฝ์ ํน์ฑ์ ์ ์ํ๋ ๋ฌธ์์ด. ์ฝ๋ ์์์ฝ๊ด ๋ณด๊ธฐ Reference Window: open() method - Web APIs | MDNThe open() m.. 2024. 5. 20. [JavaScript] javascript ์์๋ ๊ฒ ๋ณดํธ๋์ด ์๋ ๊ธ ์ ๋๋ค. 2023. 1. 31. [JavaScript] LocalStorage์ SessionStorage Local Storage์ Session Storage ๐ฐ ์น ์คํ ๋ฆฌ์ง ๊ฐ์ฒด(web storage object)์ธ localStorage์ sessionStorage๋ ๋ธ๋ผ์ฐ์ ๋ด์ ํค-๊ฐ ์์ ์ ์ฅ ํ์ด์ง๋ฅผ ์๋ก ๊ณ ์นจํ๊ณ (sessionStorage์ ๊ฒฝ์ฐ) ์ฌ์ง์ด ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ค์ ์คํํด๋(localStorage์ ๊ฒฝ์ฐ) ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง์ง ์๊ณ ๋จ์ ์์ ์ฟ ํค ๋์ ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ด์ ? ์ฟ ํค์ ๋ค๋ฅด๊ฒ ์น ์คํ ๋ฆฌ์ง ๊ฐ์ฒด๋ ๋คํธ์ํฌ ์์ฒญ ์ ์๋ฒ๋ก ์ ์ก๋์ง ์์ ์ฟ ํค๋ณด๋ค ๋ ๋ง์ ์๋ฃ ๋ณด๊ด ๊ฐ๋ฅ ๋๋ถ๋ถ์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ต์ 2MB ํน์ ๊ทธ ์ด์์ ์น ์คํ ๋ฆฌ์ง ๊ฐ์ฒด๋ฅผ ์ ์ฅํ ์ ์์ ๊ฐ๋ฐ์๋ ๋ธ๋ผ์ฐ์ ๋ด ์น ์คํ ๋ฆฌ์ง ๊ตฌ์ฑ ๋ฐฉ์์ ์ค์ ์ฟ ํค์ ๋ ๋ค๋ฅธ ์ ์ ์๋ฒ๊ฐ HTTP ํค๋๋ฅผ ํตํด ์คํ ๋ฆฌ.. 2023. 1. 29. [JavaScript] async / await 2 ์๋ฌ ์ฒ๋ฆฌ ์๋ฌ๋ ํธ์ถ์(caller) ๋ฐฉํฅ์ผ๋ก ์ ํ ์ฝ ์คํ์ ์๋ ๋ฐฉํฅ(์คํ ์ค์ธ ์คํ ์ปจํ ์คํธ๊ฐ ํธ์๋๊ธฐ ์ง์ ์ ํธ์๋ ์คํ ์ปจํ ์คํธ ๋ฐฉํฅ)์ผ๋ก ์ ํ ํ์ง๋ง, ๋น๋๊ธฐ ํจ์์ ์ฝ๋ฐฑ ํจ์๋ฅผ ํธ์ถํ ๊ฒ์ ๋น๋๊ธฐ ํจ์๊ฐ ์๋๊ธฐ ๋๋ฌธ์ try…catch๋ฌธ์ ์ฌ์ฉํด ์๋ฌ๋ฅผ ์บ์นํ ์ ์์ try{ setTimeout(()=>{ throw new Error('Error!') },1000) } catch(e) [ cosole.log('์บ์นํ ์๋ฌ',e) } async/await์์๋ ์๋ฌ ์ฒ๋ฆฌ์ try...catch ๋ฌธ์ ์ฌ์ฉํ ์ ์์. ์ฝ๋ฐฑ ํจ์๋ฅผ ์ธ์๋ก ์ ๋ฌ๋ฐ๋ ๋น๋๊ธฐ ํจ์์๋ ๋ฌ๋ฆฌ ํ๋ก๋ฏธ์ค๋ฅผ ๋ฐํํ๋ ๋น๋๊ธฐ ํจ์๋ ๋ช ์์ ์ผ๋ก ํธ์ถ ํ ์ ์๊ธฐ ๋๋ฌธ์ ํธ์ถ์๊ฐ ๋ช ํ. const fetch = require(.. 2023. 1. 26. [JavaScript] async / await 1 async / await ์ ์ฌ์ฉํ ๊น? Promise ์ฒด์ด๋์ ์ฝ๋ฐฑ ์ง์ฅ์ ๋ฒ์ด๋๊ฒ ํ์ง๋ง, Promise ์ฒด์ด๋ ๋ํ ๊ธธ์ด์ง ๊ฒฝ์ฐ ์ฌ์ ํ ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง ES2017์ ์ฒ์์ ๋ฑ์ฅํ async, await๋ syntactic sugar๋ก Promise ์ฌ์ฉ์ ์ข ๋ ํธ๋ฆฌํ๊ณ ์ธ๋ จ๋๊ฒ ํธ๋ฆฌํ๊ฒ ํ ์ ์๋๋ก ์ฒ๋ฆฌ async ํค์๋๋ ํจ์ ์์ ๋ถ์ ํจ์ ์์ async ๋ถ๊ฒ ๋๋ฉด promise๋ฅผ ๋ฐํํ๋ค๋ ์๋ฏธ async/ await ํ๋ก๋ฏธ์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋์ ํ๋ก๋ฏธ์ค์ then/catch/finally ํ์ ์ฒ๋ฆฌ ๋ฉ์๋์ ์ฝ๋ฐฑ ํจ์๋ฅผ ์ ๋ฌํด ๋น๋๊ธฐ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ํ์ ์ฒ๋ฆฌํ ํ์ ์์ด ๋๊ธฐ ์ฒ๋ฆฌ์ฒ๋ผ ํ๋ก๋ฏธ์ค๋ฅผ ์ฌ์ฉ asyncํจ์ await ํค์๋๋ ๋ฐ๋์ async ํจ์ ๋ด๋ถ์์ ์ฌ์ฉ async ํจ์๋ .. 2023. 1. 25. [JavaScript] Event-onChange onChange? ์์ฑํ JS๋ฅผ ํตํด ๋ณํ๊ฐ ์ผ์ด๋ฌ๋์ง ๊ฐ์ง input ํ๊ทธ์ ํฌ์ปค์ค๋ฅผ ๋ฒ์ด๋ฌ์๋ (์ฆ, ์ ๋ ฅ์ด ๋๋ฌ์๋) ๋ฐ์ cf.onInput() input ํ๊ทธ ์์ ๊ฐ๋ค์ด ๋ณ๊ฒฝ ๋ ๋๋ง๋ค ์ด๋ฒคํธ๊ฐ ๋ฐ์ React์์ input์ onChange ํ ๋ฒ์ ๊ด๋ฆฌํ๊ธฐ ๋ก๊ทธ์ธ, ํ์๊ฐ์ ํ์ด์ง ๊ตฌํ์ ์ฌ๋ฌ๊ฐ์ input์ ๊ด๋ฆฌ ์ด๋ฅผ ๋ชจ๋ ๋ค๋ฅธ state๋ก ๊ด๋ฆฌํ๋ ๊ฒ์ ์ฝ๋๊ฐ ๋๋ฌด ๋ณต์กํด์ง! //๊ฐ๊ฐ์ state๋ก ๊ด๋ฆฌ ์ import React,{useState} from'react' export default function App(){ const [id,setId] = useState('') const [pw,setPw] = useState('') const [nickname,setNickname].. 2023. 1. 22. [JavaScript] Event-onFocus, onBlur focus, blur? //์์ ์ฝ๋ ์ด๋ฉ์ผ: focus ์ด๋ฒคํธ๋ ์์๊ฐ ํฌ์ปค์ค๋ฅผ ๋ฐ์ ๋, blur ์ด๋ฒคํธ๋ ํฌ์ปค์ค๋ฅผ ์์ ๋ ๋ฐ์ blur ํธ๋ค๋ฌ์์ ํ๋์ ์ด๋ฉ์ผ์ด ์ ์ ๋ ฅ๋์๋์ง ํ์ธํ๊ณ , ์ ์ ๋ ฅ๋์ง ์์ ๊ฒฝ์ฐ์ ์๋ฌ๋ฅผ ๋ณด์ฌ์ค focus ํธ๋ค๋ฌ์์๋ ์๋ฌ ๋ฉ์ธ์ง๋ฅผ ์จ๊น focus์ blur ์ด๋ฒคํธ๋ ๋ฒ๋ธ๋ง ๋์ง ์์. ์บก์ฒ๋ง์ด๋ focusin ,focusout ์ ์ฌ์ฉํ๋ฉด ์ด๋ฒคํธ ์์ ํจ๊ณผ๋ฅผ ๋ณผ ์ ์์ ํ์ฌ ํฌ์ปค์ค๋ ์์๋ document.activeElement๋ฅผ ํตํด ํ์ธํ ์ ์์ focus ๊ฐ๋ฅํ HTML์์ ๋ํํ ์์ a button details input select textarea ์ด์ธ์ ์์๋ ๋น๋ํํ ์์๋ก ์นญํจ. ๐ก ๋น๋ํํ ์์์๋ ๊ฐ์ ๋ก tabindex๋ฅผ ์ฌ์ฉํด ํฌ์ปค์ฑ.. 2023. 1. 20. [JavaScript] ๋น๋๊ธฐ ๋๊ธฐ ์ฒ๋ฆฌ์ ๋น๋๊ธฐ ์ฒ๋ฆฌ JavaScript ์์ง ์ฑ๊ธ ์ค๋ ๋(signle thread) ๋ฐฉ์ cf. ๋ธ๋ผ์ฐ์ ๋ ๋ฉํฐ ์ค๋ ๋๋ก ๋์! ํ ๋ฒ์ ํ๋์ ํ์คํฌ๋ง ์คํ ์ฒ๋ฆฌ์ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ ํ์คํฌ๋ฅผ ์คํํ๋ ๊ฒฝ์ฐ ๋ธ๋กํน(์์ ์ค๋จ)์ด ๋ฐ์ ๋๊ธฐ ์ฒ๋ฆฌ ๋ฐฉ์ ๐ก ํ์ฌ ์คํ์ค์ธ ํ์คํฌ๊ฐ ์ข ๋ฃํ ๋ ๊น์ง ๋ค์์ ์คํ๋ ํ์คํฌ๊ฐ ๋๊ธฐํ๋ ๋ฐฉ์ ํ์คํฌ๋ฅผ ์์๋๋ก ํ๋์ฉ ์ฒ๋ฆฌํ๋ฏ๋ก ์คํ ์์๊ฐ ๋ณด์ฅ๋จ ์์ ํ์คํฌ๊ฐ ์ข ๋ฃํ ๋๊น์ง ์ดํ ํ์คํฌ๋ค์ด ๋ธ๋กํน ๋จ /* ๋๊ธฐ ์ฒ๋ฆฌ ๋ฐฉ์ * ํ์ฌ ์คํ ์ค์ธ ํ์คํฌ๊ฐ ์ข ๋ฃํ ๋ ๊น์ง ๋ค์์ ์คํ๋ ํ์คํฌ๊ฐ ๋๊ธฐํ๋ ๋ฐฉ์ */ //ํจ์ sleep์ delay๊ฐ ๊ฒฝ๊ณผํ ํ์ ์ฝ๋ฐฑํจ์(func) ํธ์ถ function sleep(func, delay){ //Date.now()๋ ํ์ฌ ์๊ฐ์ .. 2023. 1. 17. [JavaScript] API API ์์คํ ์ด ๋ง๋ค์ด ๋์ ์๋น์ค ์ฐฝ๊ตฌ REST API REpresentational State Transfer ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์ฃผ๊ณ ๋ฐ๋ ๋ฉ์์ง(๋ฐ์ดํฐ) ํ์ HTTP ๋ฉ์๋(POST, GET, PUT, DELETE)๋ฅผ ํตํด ํด๋น ์์์ ๋ํ CRUD๋ฅผ ์ ์ฉ JSON Server๋ฅผ ์ด์ฉํ REST API ์ค์ต 1. JSON Server ์ค์น mkdir json-server-exam && cd json-server-exam npm init -y npm install json-server --save-dev 2. db.json ํ์ผ ์์ฑ /json-server-exam/db.json { "todos":[ { "id":1, "content":"HTML", "completed":true }, { "id".. 2023. 1. 16. ์ด์ 1 2 3 ๋ค์