๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • What would life be If we had no courage to attemp anything?

Language52

[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.
[JavaScript] AJAX & JSON AJAX Asynchronous JavaScript And XML (๋น„๋™๊ธฐ์‹ JavaScript์™€ XML) ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด XMLHttpRequest ๊ฐ์ฒด๋ฅผ ํ™œ์šฉ JSON, XML, HTML ๊ทธ๋ฆฌ๊ณ  ์ผ๋ฐ˜ ํ…์ŠคํŠธ ํ˜•์‹ ๋“ฑ์„ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ ํฌ๋งท์„ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ [์ฐธ๊ณ ] AJAX์˜ X๊ฐ€ XML์„ ์˜๋ฏธํ•˜๊ธด ํ•˜์ง€๋งŒ, ์š”์ฆ˜์€ ๋” ๊ฐ€๋ฒผ์šด ์šฉ๋Ÿ‰๊ณผ JavaScript์˜ ์ผ๋ถ€๋ผ ๋Š” ์žฅ์  ๋•Œ๋ฌธ์— JSON์„ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•จ |ํŠน์ง• ํŽ˜์ด์ง€ ์ „์ฒด๋ฅผ reload(์ƒˆ๋กœ ๊ณ ์นจ)๋ฅผ ํ•˜์ง€ ์•Š๊ณ ์„œ๋„ ์ˆ˜ํ–‰๋˜๋Š” “๋น„๋™๊ธฐ์„ฑ” ์„œ๋ฒ„์˜ ์‘๋‹ต์— ๋”ฐ๋ผ ์ „์ฒด ํŽ˜์ด์ง€๊ฐ€ ์•„๋‹Œ ์ผ๋ถ€๋ถ„๋งŒ์„ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ์Œ AJAX์˜ ์ฃผ์š” ๋‘๊ฐ€์ง€ ํŠน์ง•์€ ์•„๋ž˜์˜ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์คŒ ํŽ˜์ด์ง€ ์ƒˆ๋กœ ๊ณ ์นจ ์—†์ด ์„œ๋ฒ„์— ์š”์ฒญ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ณ  ์ž‘์—…์„ ์ˆ˜ํ–‰ |X.. 2023. 1. 15.
[TypeScript] Typescript Interface Typescript์˜ Interface Interface ์ธํ„ฐํŽ˜์ด์Šค๋Š” ํƒ€์ž…์„ ์ •์˜ํ•œ ๊ทœ์น™์„ ์˜๋ฏธ interface User { age: number; name: string; } ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜์— ํ™œ์šฉํ•œ ์ธํ„ฐํŽ˜์ด์Šค var person: User = { age: 30, name: 'aa' } function getUser(user: User) { console.log(user); } ์ธ๋ฑ์‹ฑ interface StringArray { [index: number]: string; } var arr2: StringArray = ['a', 'b', 'c']; arr[0] = 10 //Error; ๋”•์…”๋„ˆ๋ฆฌ ํŒจํ„ด interface StringRegexDictionary { [key: string]: RegExp } va.. 2022. 9. 14.
[Typescript] Typescript์˜ ํƒ€์ž…๊ณผ ํ•จ์ˆ˜ TypeScript ๊ธฐ๋ณธ ํƒ€์ž… (12๊ฐ€์ง€) Boolean Number String Object Array Tuple Enum Any void Null Undefined Never Array ํƒ€์ž…์ด ๋ฐฐ์—ด์ธ ๊ฒฝ์šฐ ๊ฐ„๋‹จํ•˜๊ฒŒ ์•„๋ž˜์™€ ๊ฐ™์ด ์„ ์–ธ let arr: number[] = [1,2,3]; let arr: Array = [1,2,3]; //generic ์‚ฌ์šฉ Tuple ํŠœํ”Œ์€ ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ ๊ณ ์ •๋˜๊ณ  ๊ฐ ์š”์†Œ์˜ ํƒ€์ž…์ด ์ง€์ •๋˜์–ด ์žˆ๋Š” ๋ฐฐ์—ด ํ˜•์‹์„ ์˜๋ฏธํ•œ๋‹ค. let arr: [string, number] = ['hi',10]; ์ด ๋•Œ, ์ •์˜ํ•˜์ง€ ์•Š์€ ํƒ€์ž…, ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผํ•  ๊ฒฝ์šฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. Enum C, Java์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ์–ธ์–ด์—์„œ ํ”ํ•˜๊ฒŒ ์“ฐ์ด๋Š” ํƒ€์ž…์œผ๋กœ ํŠน์ • ๊ฐ’(์ƒ์ˆ˜)๋“ค์˜ ์ง‘ํ•ฉ์„ ์˜๋ฏธ enum Aveng.. 2022. 9. 13.
[Typescript] Typescript์˜ ์ดํ•ด Typescript Typescript๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋œ ๋ฐฐ๊ฒฝ JavaScript๋Š” ์›๋ž˜ ํด๋ผ์ด์–ธํŠธ ์ธก ์–ธ์–ด๋กœ ๋„์ž…. Node.js์˜ ๊ฐœ๋ฐœ๋กœ ์ธํ•ด JavaScript๋ฅผ ํด๋ผ์ด์–ธํŠธ ์ธก ๋ฟ๋งŒ์ด ์•„๋‹Œ ์„œ๋ฒ„ ์ธก ๊ธฐ์ˆ ๋กœ๋„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Œ. ๊ทธ๋Ÿฌ๋‚˜, JavaScript ์ฝ”๋“œ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ๋” ๋ณต์žกํ•ด์ ธ์„œ ์ฝ”๋“œ๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๊ณ  ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์–ด๋ ค์›Œ์ ธ ๋”์šฑ์ด Type ๊ฒ€์‚ฌ ๋ฐ ์ปดํŒŒ์ผ ์‹œ ์˜ค๋ฅ˜ ๊ฒ€์‚ฌ์˜ ๊ธฐ๋Šฅ์„ ์ˆ˜์šฉํ•˜์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— JavaScript๊ฐ€ ๋ณธ๊ฒฉ์ ์ธ ์„œ๋ฒ„ ์ธก ๊ธฐ์ˆ ๋กœ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์ˆ˜์ค€์—์„œ ์„ฑ๊ณตํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋˜์–ด Typescript๊ฐ€ ์ œ์‹œ๋จ. Typescript๋ž€? TypeScript๋Š” JavaScript์— ํƒ€์ž…์„ ๋ถ€์—ฌํ•œ ์–ธ์–ด! JavaScript์˜ ํ™•์žฅ๋œ ์–ธ์–ด๋กœ ๋ณผ ์ˆ˜ ์žˆ์Œ Typescript๋Š” JavaScript.. 2022. 9. 8.
[FE/JavaScript] ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น(๋””์ŠคํŠธ๋Ÿญ์ฒ˜๋ง ํ• ๋‹น) ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น ๐Ÿ’ก ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น์ด ๋ญ”๊ฐ€์š”? ๐Ÿ’ก๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น์€ ํฌ๊ฒŒ ์–ด๋–ค ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‚˜์š”? Q.๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น (๋””์ŠคํŠธ๋Ÿญ์ฒ˜๋ง ํ• ๋‹น) ๋ฐฐ์—ด์ด๋‚˜ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ํ•ด์ฒดํ•˜์—ฌ ๊ทธ ๊ฐ’์„ ๊ฐœ๋ณ„ ๋ณ€์ˆ˜์— ๋‹ด์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” JavaScript ํ‘œํ˜„์‹ - MDN ๊ตฌ์กฐํ™”๋œ ๋ฐฐ์—ด๊ณผ ๊ฐ™์€ ์ดํ„ฐ๋Ÿฌ๋ธ” ๋˜๋Š” ๊ฐ์ฒด๋ฅผ destructuring(๋น„๊ตฌ์กฐํ™”, ๊ตฌ์กฐ ํŒŒ๊ดด)ํ•˜์—ฌ 1๊ฐœ ์ด์ƒ์˜ ๋ณ€์ˆ˜์— ๊ฐœ๋ณ„์ ์œผ๋กœ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ ๐Ÿง iterable? ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด(iterable object) ํ˜น์€ ์ค„์—ฌ์„œ iterable ๋‚ด์žฅ๋œ ์ƒ์„ฑ์ž ์ค‘ iterable ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š” ์ƒ์„ฑ์ž String Array TypedArray Map Set Q.๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น ์™œ ์“ฐ์ด์ฃ ? ๋ฐฐ์—ด๊ณผ ๊ฐ™์€ ์ดํ„ฐ๋Ÿฌ๋ธ” ๋˜๋Š” ๊ฐ์ฒด ์ดํ„ฐ๋Ÿด์—์„œ ํ•„์š”ํ•œ ๊ฐ’๋งŒ ์ถ”์ถœํ•˜์—ฌ ๋ณ€์ˆ˜์— ํ• ๋‹น ์‹œ ์œ .. 2022. 7. 6.
[FE/JavaScript] strict mode ๐Ÿ’ก strict mode๊ฐ€ ๋ญ”๊ฐ€์š”? ๐Ÿ’กstrict mode๋ฅผ ํ†ตํ•ด ๋ฌด์—‡์„ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์žˆ์ฃ ? ๐ŸŽˆstrict mode๋ž€? ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์˜ ๋ฌธ๋ฒ•์„ ์ข€ ๋” ์—„๊ฒฉํžˆ ์ ์šฉํ•˜์—ฌ ์ตœ์ ํ™” ์ž‘์—…์— ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ์— ๋Œ€ํ•ด ๋ช…์‹œ์ ์ธ ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๊ฒƒ ES5(ECMA Script 5)์— ์ถ”๊ฐ€๋œ ํ‚ค์›Œ๋“œ ๐ŸŽˆ strict mode๋ฅผ ํ†ตํ•ด ๋ฌด์—‡์„ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์žˆ๋‚˜์š”? use strict๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์˜๋„์น˜ ์•Š์€ ์—ฌ๋Ÿฌ ์ž ์žฌ์ ์ธ ์˜ค๋ฅ˜๋ฅผ ๋ง‰์•„์ฃผ๋Š”๋ฐ ๋งŽ์€ ๋„์›€์„ ์ค€๋‹ค. ์ž˜๋ชป ์‚ฌ์šฉํ•˜๋ฉด ์—†๋˜ ์˜ค๋ฅ˜๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ ๊ณต์‹์šฉ์–ด๋Š” ์•„๋‹ˆ์ง€๋งŒ, ๊ฐ€๋” ์—„๊ฒฉํ•˜์ง€ ์•Š์€ ๊ธฐ๋ณธ ๊ฐ’์„ sloppy mode(๋А์Šจํ•œ ๋ชจ๋“œ) ๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•œ๋‹ค. sloppy mode์˜ ์˜ˆ์ œ ์‹คํ–‰ ๊ฒฐ๊ณผ๋Š” ์–ด๋–จ๊นŒ? function foo(){ x.. 2022. 6. 27.
[FE/JavaScript]this like this yo like this Q.this๊ฐ€ ๋ญ”๊ฐ€์š”? this๋Š” ์ž๊ธฐ์ฐธ์กฐ๋ณ€์ˆ˜ ์ž์‹ ์ด ์†ํ•œ ๊ฐ์ฒด๋‚˜ ์ž์‹ ์ด ์ƒ์„ฑํ•  ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ž๊ธฐ ์ฐธ์กฐ ๋ณ€์ˆ˜(self-referencing variable) ๐Ÿ˜ฒq**.์™œ ์‚ฌ์šฉํ•˜๋Š”๋ฐ?** ๋™์ž‘์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฉ”์„œ๋“œ๋Š” ์ž์‹ ์ด ์†ํ•œ ๊ฐ์ฒด์˜ ์ƒํƒœ(ํ”„๋กœํผํ‹ฐ)๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ด๋•Œ ๋ฉ”์„œ๋“œ๊ฐ€ ์ž์‹ ์ด ์†ํ•œ ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ฐธ์กฐํ•˜๋ ค๋ฉด ๋จผ์ € ์ž์‹ ์ด ์†ํ•œ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์‹๋ณ„์ž๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ! +)this์˜ ํŠน์ง• this๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์— ์˜ํ•ด ์•”๋ฌต์ ์œผ๋กœ ์ƒ์„ฑ๋˜๋ฉฐ, ์ฝ”๋“œ ์–ด๋””์„œ๋“  ์ฐธ์กฐ ๊ฐ€๋Šฅ! ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด arguments ๊ฐ์ฒด์™€ this๊ฐ€ ์•”๋ฌต์ ์œผ๋กœ ํ•จ์ˆ˜ ๋‚ด๋ถ€์— ์ „๋‹ฌ this๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ’, ์ฆ‰ this binding์€ ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋ฐฉ์‹.. 2022. 6. 23.
[FE/JavaScript] ์ƒ์„ฑ์ž ํ•จ์ˆ˜์— ์˜ํ•œ ๊ฐ์ฒด ์ƒ์„ฑ ์ƒ์„ฑ์ž ํ•จ์ˆ˜์— ์˜ํ•œ ๊ฐ์ฒด ์ƒ์„ฑ Q.์ƒ์„ฑ์ž ํ•จ์ˆ˜๊ฐ€ ๋ญ”๊ฐ€์š”? A. ์ƒ์„ฑ์ž(constructor)ํ•จ์ˆ˜๋Š” new ์—ฐ์‚ฐ์ž์™€ ํ•จ๊ป˜ ํ˜ธ์ถœํ•˜์—ฌ ๊ฐ์ฒด(์ธ์Šคํ„ด์Šค)๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํ•จ์ˆ˜! ์ƒ์„ฑ์ž ํ•จ์ˆ˜์— ์˜ํ•ด ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋ฅผ **์ธ์Šคํ„ด์Šค(instance)**๋ผ๊ณ  ํ•จ. Q.๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด๋กœ ๋งŒ๋“ค ๋•Œ์™€๋Š” ๋ฌด์Šจ ์ฐจ์ด๊ฐ€ ์žˆ์ฃ ? ์™œ ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋‚˜์š”? โ–ถ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด์— ์˜ํ•œ ๊ฐ์ฒด ์ƒ์„ฑ ๋ฐฉ์‹์˜ ๋ฌธ์ œ์  ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด ๋ฐฉ์‹์œผ๋กœ ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋Š” ๊ฐ™์€ ํ˜•ํƒœ์˜ ๊ฐ์ฒด๋ฅผ ์žฌ์ƒ์„ฑ ๋ถˆ๊ฐ€! ๋™์ผํ•œ ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ฐ–๋Š” ๊ฐ์ฒด๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์ƒ์„ฑํ•ด์•ผ ํ•  ๊ฒฝ์šฐ ๋งค๋ฒˆ ๊ฐ™์€ ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ธฐ์ˆ  ํ•ด์•ผํ•จ(๋น„ํšจ์œจ์ ) โ–ถ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ๊ฐ์ฒด ์ƒ์„ฑ ๋ฐฉ์‹ ์ƒ์„ฑ์ž ํ•จ์ˆ˜์— ์˜ํ•œ ๊ฐ์ฒด ์ƒ์„ฑ ๋ฐฉ์‹์€ ๋งˆ์น˜ ๊ฐ์ฒด(์ธ์Šคํ„ด์Šค)๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ…œํ”Œ๋ฆฟ(ํด๋ž˜์Šค)์ฒ˜๋Ÿผ ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ํ”„๋กœํผํ‹ฐ ๊ตฌ์กฐ๊ฐ€ ๋™.. 2022. 6. 13.
CSS CSS - ์Šคํƒ€์ผ์„ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด cascading style sheets CSS ๊ตฌ๋ฌธ์€ ์„ ํƒ์ž๋ฅผ ํ†ตํ•ด ์Šคํƒ€์ผ์„ ์ง€์ •ํ•  HTML์š”์†Œ๋ฅผ ์„ ํƒ ์ค‘๊ด„ํ˜ธ ์•ˆ์—์„œ๋Š” ์†์„ฑ๊ณผ ๊ฐ’, ํ•˜๋‚˜์˜ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์„ ์–ธ์„ ์ง„ํ–‰ ๊ฐ ์Œ์˜ ์„ ํƒํ•œ ์š”์†Œ์˜ ์†์„ฑ, ์†์„ฑ์— ๋ถ€์—ฌํ•  ๊ฐ’์„ ์˜๋ฏธ ์†์„ฑ(property) : ์–ด๋–ค ์Šคํƒ€์ผ ๊ธฐ๋Šฅ์„ ๋ณ€๊ฒฝํ• ์ง€ ๊ฒฐ์ • ๊ฐ’(value) : ์–ด๋–ป๊ฒŒ ์Šคํƒ€์ผ ๊ธฐ๋Šฅ์„ ๋ณ€๊ฒฝํ• ์ง€ ๊ฒฐ์ • CSS ์ •์˜ ๋ฐฉ๋ฒ• ์ธ๋ผ์ธ : ํ•ด๋‹น ํƒœ๊ทธ์— ์ง์ ‘ style์†์„ฑ์„ ํ™œ์šฉ ๋‚ด๋ถ€ ์ฐธ์กฐ(embedding)- : headํƒœ๊ทธ ์•ˆ์— ์ง€์ • ์™ธ๋ถ€ ์ฐธ์กฐ(link file) - ๋ถ„๋ฆฌ๋œ CSS ํŒŒ์ผ - head link๋ฅผ ํ†ตํ•ด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์„ ํƒ์ž(selector) ์„ ํƒ์ž(Selector) ์œ ํ˜• ๊ธฐ๋ณธ ์„ ํƒ์ž ์ „์ฒด ์„ ํƒ์ž, ์š”์†Œ ์„ ํƒ์ž ํด๋ž˜์Šค ์„ ํƒ์ž, ์•„.. 2022. 5. 6.
HTML HTML Hyper Text Marup Language Hyper Text : ์ฐธ์กฐ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ํ•œ ๋ฌธ์„œ์—์„œ ๋‹ค๋ฅธ ๋ฌธ์„œ๋กœ ์ฆ‰์‹œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ! Markup Language : ํƒœ๊ทธ๋ฅผ ์ด์šฉํ•ด ๋ฌธ์„œ๋‚˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ช…์‹œํ•˜๋Š” ์–ธ์–ด HTML ๊ธฐ๋ณธ ๊ตฌ์กฐ html : ๋ฌธ์„œ์˜ ์ตœ์ƒ์œ„(root)์š”์†Œ head : ๋ฌธ์„œ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ ์š”์†Œ ๋ฌธ์„œ ์ œ๋ชฉ, ์ธ์ฝ”๋”ฉ, ์Šคํƒ€์ผ, ์™ธ ํŒŒ์ผ ๋กœ๋”ฉ ๋“ฑ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ธŒ๋ผ์šฐ์ €์— ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š” ๋‚ด์šฉ body : ๋ฌธ์„œ ๋ณธ๋ฌธ ์š”์†Œ ์‹ค์ œ ํ™”๋ฉด ๊ตฌ์„ฑ๊ณผ ๊ด€๋ จ๋œ ๋‚ด์šฉ Head ์˜ˆ์‹œ : ๋ธŒ๋ผ์šฐ์ € ์ƒ๋‹จ ํƒ€์ดํ‹€ : ๋ฌธ์„œ ๋ ˆ๋ฒจ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์š”์†Œ : ์™ธ๋ถ€ ๋ฆฌ์†Œ์Šค ์—ฐ๊ฒฐ ์š”์†Œ(CSSํŒŒ์ผ, favicon๋“ฑ) : ์Šคํฌ๋ฆฝํŠธ ์š”์†Œ(JavaScript ํŒŒ์ผ/์ฝ”๋“œ) : css ์ง์ ‘ ์ž‘์„ฑ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์ƒˆ๋กœ์šด ๊ทœ.. 2022. 5. 6.
JavaScript - Event *๏ธโƒฃ Event |Event (์ด๋ฒคํŠธ) ๊ฐœ๋… ๋„คํŠธ์›Œํฌ ํ™œ๋™์ด๋‚˜ ์‚ฌ์šฉ์ž์™€์˜ ์ƒํ˜ธ์ž‘์šฉ ๊ฐ™์€ ์‚ฌ๊ฑด์˜ ๋ฐœ์ƒ์„ ์•Œ๋ฆฌ๊ธฐ ์œ„ํ•œ ๊ฐ์ฒด ์ด๋ฒคํŠธ ๋ฐœ์ƒ ๋งˆ์šฐ์Šค๋ฅผ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ํ‚ค๋ณด๋“œ๋ฅผ ๋ˆ„๋ฅด๋Š” ๋“ฑ ์‚ฌ์šฉ์ž ํ–‰๋™์œผ๋กœ ๋ฐœ์ƒํ•  ์ˆ˜๋„ ์žˆ์Œ ํŠน์ • ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœ(Element.click())ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ ์œผ๋กœ๋„ ๋งŒ๋“ค์–ด๋‚ผ ์ˆ˜ ์žˆ์Œ |Event ๊ธฐ๋ฐ˜ ์ธํ„ฐํŽ˜์ด์Šค AnimationEvent, ClipboardEvent, DragEvent ๋“ฑ UIEvent ๊ฐ„๋‹จํ•œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์ด๋ฒคํŠธ Event์˜ ์ƒ์†์„ ๋ฐ›์Œ MouseEvent, KeyboardEvent, InputEvent, FocusEvent ๋“ฑ์˜ ๋ถ€๋ชจ ๊ฐ์ฒด ์—ญํ• ์„ ํ•จ |Event์˜ ์—ญํ•  “~ํ•˜๋ฉด ~ํ•œ๋‹ค.” “ํด๋ฆญํ•˜๋ฉด, ๊ฒฝ๊ณ ์ฐฝ์„ ๋„์šด๋‹ค.” “ํŠน์ • ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด, ํ•  ์ผ์„ ๋“ฑ๋กํ•œ๋‹ค.” .. 2022. 5. 3.
JavaScript - DOM(Document Object Model) |DOM ์กฐ์ž‘ - ๊ฐœ๋… Document๋Š” ๋ฌธ์„œ ํ•œ์žฅ(HTML)์— ํ•ด๋‹นํ•˜๊ณ  ์ด๋ฅผ ์กฐ์ž‘ DOM ์กฐ์ž‘ ์ˆœ์„œ ์„ ํƒ(Select) ๋ณ€๊ฒฝ(Mainpulation) |DOM ๊ด€๋ จ ๊ฐ์ฒด์˜ ์ƒ์† ๊ตฌ์กฐ Event Target Event Listner๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด๊ฐ€ ๊ตฌํ˜„ํ•˜๋Š” DOM ์ธํ„ฐํŽ˜์ด์Šค Node ์—ฌ๋Ÿฌ ๊ฐ€์ง€ DOM ํƒ€์ž…๋“ค์ด ์ƒ์†ํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค Element Document ์•ˆ์˜ ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ ์ƒ์†ํ•˜๋Š” ๊ฐ€์žฅ ๋ฒ”์šฉ์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค ๋ถ€๋ชจ์ธ Node์™€ ๊ทธ ๋ถ€๋ชจ์ธ EventTarget์˜ ์†์„ฑ์„ ์ƒ์† Document ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ถˆ๋Ÿฌ์˜จ ์›น ํŽ˜์ด์ง€๋ฅผ ๋‚˜ํƒ€๋ƒ„ DOM ํŠธ๋ฆฌ์˜ ์ง„์ž…์ (entry point) ์—ญํ• ์„ ์ˆ˜ํ–‰ HTMLElement ๋ชจ๋“  ์ข…๋ฅ˜์˜ HTML ์š”์†Œ ๋ถ€๋ชจ element์˜ ์†์„ฑ ์ƒ์† |DOM ์„ ํƒ – ์„ ํƒ ๊ด€๋ จ ๋ฉ”์„œ๋“œ .. 2022. 5. 3.
JavaScript - Asynchronous JavaScript(์ฝœ๋ฐฑํ•จ์ˆ˜, Async callbacks,Promise), Axios *๏ธโƒฃ Callback Function - ์ธ์ž๋กœ ๋„˜๊ธฐ๋Š” ํ•จ์ˆ˜ ๋‹ค๋ฅธ ํ•จ์ˆ˜์— ์ธ์ž๋กœ ์ „๋‹ฌ๋œ ํ•จ์ˆ˜ ์™ธ๋ถ€ ํ•จ์ˆ˜ ๋‚ด์—์„œ ํ˜ธ์ถœ๋˜์–ด ์ผ์ข…์˜ ๋ฃจํ‹ด ๋˜๋Š” ์ž‘์—…์„ ์™„๋ฃŒํ•จ ๋™๊ธฐ์‹, ๋น„๋™๊ธฐ์‹ ๋ชจ๋‘ ์‚ฌ์šฉ๋จ ๊ทธ๋Ÿฌ๋‚˜ ๋น„๋™๊ธฐ ์ž‘์—…์ด ์™„๋ฃŒ๋œ ํ›„ ์ฝ”๋“œ ์‹คํ–‰์„ ๊ณ„์†ํ•˜๋Š” ๋ฐ ์ฃผ๋กœ ์‚ฌ์šฉ๋จ ๋น„๋™๊ธฐ ์ž‘์—…์ด ์™„๋ฃŒ๋œ ํ›„ ์ฝ”๋“œ ์‹คํ–‰์„ ๊ณ„์†ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๋น„๋™๊ธฐ ์ฝœ๋ฐฑ(asynchronous callback)์ด๋ผ๊ณ  ํ•จ |JavaScript์˜ ํ•จ์ˆ˜ === “์ผ๊ธ‰ ๊ฐ์ฒด(First Class Object)” ์ผ๊ธ‰ ๊ฐ์ฒด (์ผ๊ธ‰ ํ•จ์ˆ˜) ๋‹ค๋ฅธ ๊ฐ์ฒด๋“ค์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ์‚ฐ์„ ๋ชจ๋‘ ์ง€์›ํ•˜๋Š” ๊ฐ์ฒด(ํ•จ์ˆ˜) ์ผ๊ธ‰ ๊ฐ์ฒด์˜ ์กฐ๊ฑด ์ธ์ž๋กœ ๋„˜๊ธธ ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜ ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ |Async callbacks ํ•จ์ˆ˜ ⇒ .. 2022. 5. 3.
JavaScript - AJAX, Asynchronous (๋น„๋™๊ธฐ) *๏ธโƒฃAJAX Asynchronous JavaScript And XML (๋น„๋™๊ธฐ์‹ JavaScript์™€ XML) ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด XMLHttpRequest ๊ฐ์ฒด๋ฅผ ํ™œ์šฉ JSON, XML, HTML ๊ทธ๋ฆฌ๊ณ  ์ผ๋ฐ˜ ํ…์ŠคํŠธ ํ˜•์‹ ๋“ฑ์„ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ ํฌ๋งท์„ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ [์ฐธ๊ณ ] AJAX์˜ X๊ฐ€ XML์„ ์˜๋ฏธํ•˜๊ธด ํ•˜์ง€๋งŒ, ์š”์ฆ˜์€ ๋” ๊ฐ€๋ฒผ์šด ์šฉ๋Ÿ‰๊ณผ JavaScript์˜ ์ผ๋ถ€๋ผ ๋Š” ์žฅ์  ๋•Œ๋ฌธ์— JSON์„ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•จ |ํŠน์ง• ํŽ˜์ด์ง€ ์ „์ฒด๋ฅผ reload(์ƒˆ๋กœ ๊ณ ์นจ)๋ฅผ ํ•˜์ง€ ์•Š๊ณ ์„œ๋„ ์ˆ˜ํ–‰๋˜๋Š” “๋น„๋™๊ธฐ์„ฑ” ์„œ๋ฒ„์˜ ์‘๋‹ต์— ๋”ฐ๋ผ ์ „์ฒด ํŽ˜์ด์ง€๊ฐ€ ์•„๋‹Œ ์ผ๋ถ€๋ถ„๋งŒ์„ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ์Œ AJAX์˜ ์ฃผ์š” ๋‘๊ฐ€์ง€ ํŠน์ง•์€ ์•„๋ž˜์˜ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์คŒ ํŽ˜์ด์ง€ ์ƒˆ๋กœ ๊ณ ์นจ ์—†์ด ์„œ๋ฒ„์— ์š”์ฒญ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ณ  ์ž‘์—…์„ ์ˆ˜ํ–‰.. 2022. 5. 3.
JavaScript - ํ”„๋กœํ† ํƒ€์ž…(prototype), ํด๋ž˜์Šค(class) ๐Ÿคํ”„๋กœํ† ํƒ€์ž…(prototype) |JS์˜ ์ƒ์†๊ณผ ๊ฐ์ฒด JS๋Š” ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด JS์˜ ๊ฐ์ฒด๋Š” key-value ๊ตฌ์กฐ์˜ ์ž๋ฃŒ๊ตฌ์กฐ Python๊ณผ ๊ฐ™์€ ํด๋ž˜์Šค๊ธฐ๋ฐ˜์˜ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๊ฐ์ฒด์™€ ๋‹ค๋ฆ„ JS๋Š” ํด๋ž˜์Šค๊ฐœ๋…์ด ์กด์žฌํ•˜์ง€ ์•Š๊ณ , ํ”„๋กœํ† ํƒ€์ž…์ด๋ผ๋Š” ๊ฐœ๋…์„ ํ™œ์šฉํ•ด ์ƒ์†์„ ๊ตฌํ˜„ ES5 ๊นŒ์ง€๋Š” ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์›ํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์˜€์œผ๋‚˜, ES6+ ๋ถ€ํ„ฐ๋Š” class ํ‚ค์›Œ๋“œ๋กœ ๋Œ€์ฒด function Rectangle(width, height) { this.width = width this.height = height } Rectangle.prototype.getArea = function () { return this.width * this.height } function Square(length) { R.. 2022. 5. 3.
Java - sum method๋ฅผ ์ด์šฉํ•œ ๋ฐฐ์—ด ํ•ฉ๊ณ„ ๊ตฌํ•˜๊ธฐ ํ•ฉ๊ณ„ ๊ตฌํ•˜๊ธฐ for๋ฌธ์„ ์ด์šฉํ•œ ํ•ฉ๊ณ„ ๊ตฌํ•˜๊ธฐ import java.util.Scanner; public class Main { public static void main(String[] args) { int[] arr = new int[4]; Scanner put = new Scanner(System.in); for(int i=0; i 2022. 5. 3.
Java - ์ž…๋ ฅ ๋ฐ›๊ธฐ, ํ•˜๋“œ ์ฝ”๋”ฉํ•˜๊ธฐ ํ•˜๋“œ์ฝ”๋”ฉ ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ •์ˆ˜ํ˜• public class Main { public static void main(String[] args) { //์ •์ˆ˜ํ˜•์ผ ๋•Œ int[] ds = {3,2,6,7,1,8}; System.out.println(ds[a]); } } ๋ฌธ์ž์—ด public class Main { public static void main(String[] args) { //๋ฌธ์ž์—ด์ผ ๋•Œ String[] arr = {"m","i","n"}; } } ์ž…๋ ฅ ๋ฐ›๋Š” ๋ฐฉ๋ฒ• ์ •์ˆ˜ํ˜• import java.util.Scanner; public class Main { public static void main(String[] args) { //1.๋ฐฐ์—ด์ƒ์„ฑ int[] arr = new int[3]; //2.์ž…๋ ฅ๋ฐ›๊ธฐ Scanne.. 2022. 5. 3.
JavaScript - this this - "์ž๊ธฐ์ฐธ์กฐ๋ณ€์ˆ˜" ์ •์˜ ๋‚ด๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ถˆ๋ฆฌ๋А๋ƒ์— ๋”ฐ๋ผ ๋ฐ”์ธ๋”ฉ ๋˜๋Š” ๊ฒƒ. ๋ชฉ์  "๊ฐ์ฒด"์—์„œ "๋‚ด"๊ฐ€ ํ”„๋กœํผํ‹ฐ๋‚˜ ๋ฉ”์„œ๋“œ๋ฅผ ์ฐธ์กฐํ•˜๊ธฐ ์œ„ํ•ด "์–ด๋””์„œ" "์–ด๋–ป๊ฒŒ" ๋ถ€๋ฅด๋А๋ƒ์— ๋”ฐ๋ผ this๋Š” ๋‹ฌ๋ผ์ง„๋‹ค! ์ผ๋ฐ˜ ํ•จ์ˆ˜๋กœ ํ˜ธ์ถœ ๋˜์—ˆ์„ ๋•Œ -> **์ „์—ญ ๊ฐ์ฒด** ํ•จ์ˆ˜() -> window function test(){ console.log(this) } test() Window {0: global, window: Window, self: Window, document: document, name: '', location: Location, …} ๋ฉ”์„œ๋“œ๋กœ ํ˜ธ์ถœ ๋˜์—ˆ์„ ๋•Œ -> **"๊ทธ" ๋ฉ”์„œ๋“œ๋ฅผ ๋ณด์œ ํ•œ ๊ฐ์ฒด ** ๊ฐ์ฒด.๋ฉ”์„œ๋“œ() ->๊ฐ์ฒด const obj = {} const obj = { test : function.. 2022. 5. 2.
JavaScript - ๊ฐ์ฒด(Objects) ๐Ÿค๊ฐ์ฒด(Objects) - “๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ์ž๋ฃŒํ˜•”์„ ๊ฐ€์ง„ ์ž๋ฃŒ๊ตฌ์กฐ ๊ฐ์ฒด : 'ํ‚ค'์™€ '๊ฐ’'์œผ๋กœ ์ด๋ฃจ์–ด์ง„ 'ํ”„๋กœํผํ‹ฐ'๋“ค์˜ ์ง‘ํ•ฉ! (ํ‚ค์™€ ๊ฐ’์˜ ์ง‘ํ•ฉ) ๊ฐ์ฒด์˜ ๋ชฉ์  : ๋‹ค์–‘ํ•œ "๋ฐ์ดํ„ฐ ํƒ€์ž…"์˜ ์ž๋ฃŒ๋“ค์„ ํ• ๋‹นํ•˜๊ธฐ ์œ„ํ•จ ํ”„๋กœํผํ‹ฐ ํ‚ค : (๋ฌธ์ž์—ด) ํ”„๋กœํผํ‹ฐ ๊ฐ’ : (๋ชจ๋“ ๊ฐ’) ํ”„๋กœํผํ‹ฐ ๊ฐ’์ด ํ•จ์ˆ˜์ธ ๊ฒฝ์šฐ๋ฅผ "๋ฉ”์„œ๋“œ" ๋ฉ”์„œ๋“œ : ๊ฐ์ฒด์•ˆ์˜ ํ•จ์ˆ˜ ๊ฐ์ฒด์•ˆ์— ํ”„๋กœํผํ‹ฐ ๊ฐ’์ด ํ•จ์ˆ˜์ธ : ๋ฉ”์„œ๋“œ ํ•จ์ˆ˜ ์•ˆ์— ๋ฉ”์„œ๋“œ๊ฐ€ ํฌํ•จ!! |๊ฐ์ฒด์˜ ์ •์˜์™€ ํŠน์ง• ๊ฐ์ฒด๋Š” ์†์„ฑ(property)์˜ ์ง‘ํ•ฉ์ด๋ฉฐ, ์ค‘๊ด„ํ˜ธ ๋‚ด๋ถ€์— key์™€ value์˜ ์Œ์œผ๋กœ ํ‘œํ˜„ key๋Š” ๋ฌธ์ž์—ด ํƒ€์ž…*๋งŒ ๊ฐ€๋Šฅ (์ฐธ๊ณ ) key ์ด๋ฆ„์— ๋„์–ด์“ฐ๊ธฐ ๋“ฑ์˜ ๊ตฌ๋ถ„์ž๊ฐ€ ์žˆ์œผ๋ฉด ๋”ฐ์˜ดํ‘œ๋กœ ๋ฌถ์–ด์„œ ํ‘œํ˜„ value๋Š” ๋ชจ๋“  ํƒ€์ž…(ํ•จ์ˆ˜ํฌํ•จ) ๊ฐ€๋Šฅ ๊ฐ์ฒด ์š”์†Œ ์ ‘๊ทผ์€ ์  ๋˜๋Š” ๋Œ€๊ด„ํ˜ธ๋กœ ๊ฐ€๋Šฅ (์ฐธ๊ณ ) ke.. 2022. 4. 27.
JavaScript - ๋ฐฐ์—ด(Arrays) ๐Ÿค๋ฐฐ์—ด(Arrays) JavaScript์—์„œ์˜ ๋ฐฐ์—ด์€ “์ •์‹ ๋ฐฐ์—ด”์ด ์•„๋‹˜! “์œ ์‚ฌ ๋ฐฐ์—ด ๊ฐ์ฒด”์ž„! →๊ฐ์ฒด const a = [] typeof a //'object' ๋ฐฐ์—ด์˜ ์ •์˜์™€ ํŠน์ง• ํ‚ค์™€ ์†์„ฑ๋“ค์„ ๋‹ด๊ณ  ์žˆ๋Š” ์ฐธ์กฐ ํƒ€์ž…์˜ ๊ฐ์ฒด(object) ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜๋Š” ํŠน์ง•์ด ์žˆ์Œ ์ฃผ๋กœ ๋Œ€๊ด„ํ˜ธ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ƒ์„ฑํ•˜๊ณ , 0์„ ํฌํ•จํ•œ ์–‘์˜ ์ •์ˆ˜ ์ธ๋ฑ์Šค๋กœ ํŠน์ • ๊ฐ’์— ์ ‘๊ทผ ๊ฐ€๋Šฅ ๋ฐฐ์—ด์˜ ๊ธธ์ด๋Š” array.length ํ˜•ํƒœ๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅ (์ฐธ๊ณ ) ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ์›์†Œ๋Š” array.length – 1๋กœ ์ ‘๊ทผ const numbers = [1,2,3,4,5] console.log(numbers[0]) //1 console.log(numbers[-1]) //undefined console.log(numbers.length)//5 cons.. 2022. 4. 27.