์๋ฐ์คํฌ๋ฆฝํธ
-
- [React Native] FlatList
FlatList๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ(React Native)์ @FlatList@ ์ปดํฌ๋ํธ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. FlatList๊ฐ๋ ํจ์จ์ ์ผ๋ก ๋๋์ ์คํฌ๋กค ๊ฐ๋ฅํ ํญ๋ชฉ์ ๋ ๋๋งํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์ปดํฌ๋ํธ์ต์ ํ๋ ๊ฐ์ ์คํฌ๋กค๋ง ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ์ค์ด๊ณ , ์คํฌ๋กค ์ ํ์ํ ํญ๋ชฉ๋ง ๋ ๋๋งํ๋ค.@ScrollView@ ์ปดํฌ๋ํธ์์ ์ฐจ์ด์ ์ฃผ์ ์์ฑ์์ฑ์ค๋ช @data@- ๋ ๋๋งํ ๋ฐ์ดํฐ ๋ฐฐ์ด(Array)์ ์ ๋ฌ- ๋ฐฐ์ด์ ๊ฐ ์์๋ ๋ ๋๋ง๋ ํญ๋ชฉ์ ๋ฐ์ดํฐ@renderItem@- ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ๋ ๋๋งํ ์ง ์ ์ํ๋ ํจ์- ๋งค๊ฐ๋ณ์๋ก @{ item, index }@ ํํ์ ๊ฐ์ฒด๋ฅผ ๋ฐ๋๋ค.@keyExtractor@- ๊ฐ ํญ๋ชฉ์ ๊ณ ์ ํค๋ฅผ ๋ฐํํ๋ ํจ์- ๊ธฐ๋ณธ์ ์ผ๋ก @item.key@ ๋๋ @item.id@๋ฅผ ์ฌ์ฉ..
2024.12.10 -
- [JavaScript] EmailJS ๋ผ์ด๋ธ๋ฌ๋ฆฌ
EmailJS ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด๊ฐ๋ฉฐ๊ฐํธํ๊ฒ ํ์๊ฐ์ ์ผ๋ก ๋ฌด๋ฃ๋ก ์ 200๊ฑด๊น์ง ์ด๋ฉ์ผ์ ๋ณด๋ผ ์ ์๋๋ก ๋์์ฃผ๋ EmailJS ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. EmailJS๊ฐ๋ ์ฌ์ฉ์๊ฐ ์๋ฒ ์์ด ์๋ฐ์คํฌ๋ฆฝํธ๋ง์ผ๋ก ์ด๋ฉ์ผ์ ๋ณด๋ผ ์ ์๋๋ก ๋์์ฃผ๋ ์๋น์ค์ฌ์ฉ์๋ ๋ฐฑ์๋ ์ค์ ์์ด ํด๋ผ์ด์ธํธ ์ฌ์ด๋์์ ์ด๋ฉ์ผ์ ์ ์กํ ์ ์๋ค.SMTP ์๋ฒ๋ฅผ ํ์ฉํ์ฌ ์ด๋ฉ์ผ์ ์ ์กํ๋ฉฐ, Gmail, Outlook ๋ฑ์ ์ด๋ฉ์ผ ์๋น์ค๋ฅผ ์ง์ํ๋ค. ์ฃผ์ ํน์งํด๋ผ์ด์ธํธ ์ฌ์ด๋์์ ์ง์ ์ด๋ฉ์ผ์ ์ ์กํ ์ ์์ด ๋ฐฑ์๋๊ฐ ํ์์๋ค.Gmail, Yahoo, Outlook ๋ฑ ์ฌ๋ฌ ์๋น์ค์ ํธํ๋๋ค.์ฌ์ฉ์ ์ ์ ํ ํ๋ฆฟ์ ๋ง๋ค์ด ๋์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ์ ์๋ค.์ ์ก ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๋ฉฐ API ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฆ์ ์ฒ๋ฆฌํ๋ค.๋ช ์ค์ ์ฝ๋๋ง์ผ๋ก..
2024.11.26 -
- [JavaScript] FusionCharts ๋ผ์ด๋ธ๋ฌ๋ฆฌ
FusionCharts ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด๊ฐ๋ฉฐ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript)์ FusionCharts ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. FusionCharts๊ฐ๋ ์น ๊ธฐ๋ฐ ๋์๋ณด๋์ ๋ฐ์ดํฐ ์๊ฐํ๋ฅผ ์ํ ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript) ์ฐจํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ๋ฐ์์ ๊ธฐ์ ์ด ๋ค์ํ ํํ์ ๋ฐ์ดํฐ๋ฅผ ์ฐจํธ, ๊ทธ๋ํ, ๊ฒ์ด์ง(Gauge), ์ง๋ ๋ฑ์ผ๋ก ์๊ฐํ ํ ์ ์๋ค.๋ฌด๋ฃ ๋ฐ ์ ๋ฃ ํ๋์ด ์์ด ํ๋ก์ ํธ์ ํ์์ ๋ฐ๋ผ ์ ํ ๊ฐ๋ฅํ๋ค.๊ณต์ ํํ์ด์ง : JavaScript charts for web & mobile | FusionCharts ํน์ง์ ์ฐจํธ, ํ์ด ์ฐจํธ, ๊ฒ์ด์ง, ํํธ๋งต ๋ฑ 100๊ฐ ์ด์์ ์ฐจํธ ์ ํ ์ง์๋ณต์กํ ๋น์ฆ๋์ค ๋์๋ณด๋๋ ๋ณด๊ณ ์๋ฅผ ์ฝ๊ฒ ๋ง๋ค ์ ์๋ค.๋ชจ๋ ์ฐจํธ๋ ๋ฐ์ํ ๋์์ธ์ด ์ ์ฉ๋์ด ๋ชจ๋ฐ์ผ, ํ๋ธ๋ฆฟ, ..
1 2024.11.18 -
- [JavaScript] Faker.js ๋ผ์ด๋ธ๋ฌ๋ฆฌ
Faker.js ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด๊ฐ๋ฉฐFaker.js ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. Faker.js๊ฐ๋ ๋ค์ํ ์ ํ์ ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์์ฑํ ์ ์๋๋ก ๋์์ฃผ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ, ํ ์คํธ, ๋ฐ๋ชจ์ฉ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์์ฑํ ๋ ์ ์ฉํ๋ค.์ด๋ฆ, ์ฃผ์, ์ ํ๋ฒํธ, ์ด๋ฉ์ผ, ๋ ์ง, ์ด๋ฏธ์ง URL ๋ฑ์ ๋ฌด์์๋ก ์์ฑํ ์ ์๋ค.๊ด๋ฆฌ ๋ฌธ์ ๋ก 2021๋ ์ ๊ฐ๋ฐ์ด ์ค๋จ๋์๊ณ , ์ดํ ์ปค๋ฎค๋ํฐ์์ @๏ผ faker-js/faker@๋ผ๋ ์ด๋ฆ์ผ๋ก ํฌํฌ(Fork)ํ์ฌ ์ ์ง๋ณด์ํ๊ณ ์๋ค.๊ธฐ์กด์ @faker.js@๋ ๋ ์ด์ ์ ์ง๋ณด์๋์ง ์๋๋ค.์์ธํ ๋ด์ฉ์ ์ด ๊ธ์ ์ฐธ๊ณ ํ๋ค. ๋ฐ๋ผ์ ์ปค๋ฎค๋ํฐ์ ์ํด ๊ด๋ฆฌ๋๊ณ ์๋ @๏ผ faker-js/faker@๋ฅผ ์ฌ์ฉํ๋ค.Faker๋ก ์์ฑํ ๋ฐ์ดํฐ๋ ๋ฌด์์์ด๋ฉฐ ์ค์ ๋ฐ์ดํฐ๊ฐ ์๋๋ฏ..
2024.10.30 -
- [JavaScript] ์ ๊ฐ ์ฐ์ฐ์ (Spread Operator, ...)
์ ๊ฐ ์ฐ์ฐ์ (Spread Operator, ...)๋ค์ด๊ฐ๋ฉฐ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript)์์ ์ฌ์ฉํ ์ ์๋ ์ ๊ฐ ์ฐ์ฐ์(Spread Operator, @...@)์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. ์ ๊ฐ ์ฐ์ฐ์(Spread Operator, @...@)๊ฐ๋ ๋ฐฐ์ด(Array)์ด๋ ๊ฐ์ฒด(Object)๋ฅผ ์ฝ๊ฒ ํ์ฅํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์๋ ๊ธฐ๋ฅ๋ฐฐ์ด, ๊ฐ์ฒด, ํจ์ ํธ์ถ์์ ๋ค์ํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.๋ฐฐ์ด์ ๋ณํฉ & ๋ณต์ฌ๊ฐ์ฒด์ ๋ณํฉ & ๋ณต์ฌํจ์ ํธ์ถ ์ ์ธ์ ํ์ฅ์ ๊ฐ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ๋, ์์ ๋ณต์ฌ(Shallow Copy)๊ฐ ์ด๋ฃจ์ด์ง๋ค.ES6(ECMAScript 2015)๋ถํฐ ์ฌ์ฉํ ์ ์๋ค. ์์ ๋ณต์ฌ๋ ๊ฐ์ฒด๋ ๋ฐฐ์ด์ ์ต์์ ์์ค๋ง ๋ณต์ฌํ๋ค. (์ค์ฒฉ๋ ๊ฐ์ฒด๋ ๋ฐฐ์ด์ ์๋ณธ ๋ฐ์ดํฐ์ ๋ํ '์ฐธ์กฐ'๋ฅผ ์ ์งํ๋ค.) ๋ฐ๋ผ์ ์ ๊ฐ ์ฐ์ฐ์๋ฅผ..
2024.08.27 -
- [JavaScript] for ๋ฌธ ์ ๋ฆฌ (for, for...in, for...of, forEach, for await...of)
for ๋ฌธ ์ ๋ฆฌ (for, for...in, for...of, forEach, for await...of)๋ค์ด๊ฐ๋ฉฐ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript)์์ ์ฌ์ฉํ ์ ์๋ for ๋ฌธ(@for@, @for...in@, @for...of@, @forEach@, @for await...of@)์ ๋ํด ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํด๋ณธ๋ค. ์ข ๋ฅโ @for@ ๋ฌธํน์ ํ์๋งํผ ๋ฐ๋ณตํ ๋ ์ฌ์ฉํ๋ค.for (initialization; condition; increment) { // ๋ฐ๋ณตํ ์ฝ๋} ์์ ์ฝ๋for (let i = 0; i โก @for...in@ ๋ฌธ๊ฐ์ฒด์ ์ด๊ฑฐ ๊ฐ๋ฅํ ์์ฑ์ ๋ฐ๋ณตํ ๋ ์ฌ์ฉํ๋ค.๋ฐฐ์ด(Array)์์๋ ์ธ๋ฑ์ค๋ฅผ ๋ฐ๋ณตํ ์ ์์ง๋ง, ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ฒด(Object)์ ์ฌ์ฉ๋๋ค.for (const key in ob..
2024.08.25 -
- [React.js] React Router์ loader ์์ฑ
React Router์ loader ์์ฑ๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ ๋ผ์ฐํฐ(@react-router-dom@)์ @loader@ ์์ฑ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. React Router์ @loader@ ์์ฑReact Router Version 6 ๋ถํฐ ์ฌ์ฉํ ์ ์๋ค.์ปดํฌ๋ํธ๊ฐ ๋๋๋ง๋๊ธฐ ์ ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค.๋ก๋ ํจ์์์ ๋ฐํ๋ ๋ฐ์ดํฐ๋ ์๋์ผ๋ก ํด๋น ์ปดํฌ๋ํธ์์ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค.๋ก๋๋ ํจ์๋ก ์ ์๋๋ฉฐ, ํด๋น ํจ์์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ์ปดํฌ๋ํธ์ ์ ๋ฌํ๋ค.๋ก๋ ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ปดํฌ๋ํธ๊ฐ ๋ ๋๋ง๋๊ธฐ ์ ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ด, ์ปดํฌ๋ํธ๊ฐ ์ด๊ธฐ ๋ก๋ฉ ์ํ๋ฅผ ํ์ํ์ง ์๊ณ ๋ฐ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ ๋๋งํ ์ ์๋ค.๋ฐ๋ผ์ ๋ ๋์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ ์ ์๋ค. ์์ ์ฝ๋import { RouterProvider, cre..
2024.07.03 -
- [React.js] <form> ์์์์ ์ ์ถ(Submit) ๋ฒํผ ์ฌ์ฉ ์ ๊ธฐ๋ณธ ๋์ ๋ง๋ ๋ฐฉ๋ฒ
์์์์ ์ ์ถ(Submit) ๋ฒํผ ์ฌ์ฉ ์ ๊ธฐ๋ณธ ๋์ ๋ง๋ ๋ฐฉ๋ฒ๋ค์ด๊ฐ๋ฉฐ@@ ์์ ์์ @type@์ด @submit@์ธ ๋ฒํผ์ ๋๊ณ , ํด๋ฆญํ ๋, ํผ ์ ์ถ ํจ๊ณผ๊ฐ ๋ฐ์ํ๋ค.ํด๋น ๋ฒํผ์ ํด๋ฆญํ ๋ ํผ ๋ฐ์ดํฐ๊ฐ ์๋ฒ๋ก ์ ์ก๋๋ฉด์ ํ์ด์ง๊ฐ ์๋ก๊ณ ์นจ ๋๋๋ฐ, ์ด๊ฒ์ ํผ์ ๊ธฐ๋ณธ ๋์์ด๋ค. // ... ์ ์ถ ์ด๋ ํผ ์ ์ถ ํจ๊ณผ ๋ง์ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค. ๋ฐฉ๋ฒ๋ฐฉ๋ฒ 1 : @@ ์์์ @type@ ์์ฑ์ @button@์ผ๋ก ์ง์ ํ๊ธฐ@@ ์์์ @type@ ์์ฑ์ @submit@์ด ์๋ @button@์ผ๋ก ์ง์ ํ๋ ๋ฐฉ๋ฒ์ด๋ค.function handleSubmit() { console.log("Submitted!");} ๋ก๊ทธ์ธ ๋ฐฉ๋ฒ 2 : @@ ์์์ @onClick@ ์ด๋ฒคํธ ํจ์์ @event...
2024.06.28 -
- [JavaScript] Intl.NumberFormat ๊ฐ์ฒด
Intl.NumberFormat ๊ฐ์ฒด๋ค์ด๊ฐ๋ฉฐ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript)์ @Intl.NumberFormat@ ๊ฐ์ฒด์ ๋ํด ์์๋ณด์.@Intl.NumberFormat@ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ฉด ์ซ์๋ฅผ ํน์ ๋ก์ผ์ผ๊ณผ ์ต์ ์ ๋ง์ถฐ ํฌ๋งทํ (Formatting) ํ ์ ์๋ค. Intl.NumberFormat ๊ฐ์ฒด๊ฐ๋ ์ํฌ๋ง์คํฌ๋ฆฝํธ(ECMAScript) ๊ตญ์ ํ API์ ์ผ๋ถ๋ก, ์ซ์์ ํ์์ ์ง์ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.๋ก์ผ์ผ(Locale)๊ณผ ์ต์ (Option)์ ์ฌ์ฉํ์ฌ ์ซ์์ ํ์์ ์ธ๋ถ์ ์ผ๋ก ์ง์ ํ ์ ์๋ค. ์ฃผ๋ก ํตํ, ์์์ ์๋ฆฌ์, ์ซ์ ๊ทธ๋ฃนํ ๋ฑ์ ํ์์ ์ง์ ํ๋๋ฐ ์ฌ์ฉ๋๋ค. ์ฌ์ฉ ๋ฐฉ๋ฒnew Intl.NumberFormat(locales, options) @locales@๋ก์ผ์ผ ์ง์ ๋ก์ผ์ผ(Locale)์ปดํจํฐ ํ๋ก๊ทธ..
2024.06.28 -
- [React.js] map ํจ์๋ฅผ ์ฌ์ฉํ ๋ ์ค๊ดํธ({})์ ์๊ดํธ(())
map ํจ์๋ฅผ ์ฌ์ฉํ ๋ ์ค๊ดํธ({})์ ์๊ดํธ(())๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ(React)์์ ์ค๊ดํธ @{}@์ ์๊ดํธ @()@๋ ์ฃผ๋ก JSX ์์์ ์ฌ์ฉ๋๋ฉฐ, ํนํ @map()@ ๋ฉ์๋์ ํจ๊ป ์ฌ์ฉ๋ ๋ ์ฃผ์ํด์ผ ํ ์ ์ด ๋ช๊ฐ์ง ์๋ค.@map@ ํจ์๋ฅผ ์ฌ์ฉํ ๋ ์ค๊ดํธ(@{}@)์ ์๊ดํธ(@()@)๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ ์ฐจ์ด์ ๋ํด ์์๋ณด์. ์ค๊ดํธ(@{}@)์๋ฐ์คํฌ๋ฆฝํธ ํํ์(Expression)์ ๊ฐ์ธ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.์ค๊ดํธ๋ฅผ ์ฌ์ฉํ ๋๋ ๋ฐ๋์ ๋ฐํ๊ฐ์ด ์์ด์ผ ํ๋ฉฐ, ๋ช ์์ ์ผ๋ก @return@ ํค์๋๋ฅผ ์ฌ์ฉํด์ ๊ฐ์ ๋ฐํํด์ผ ํ๋ค.์ฌ๋ฌ ์ค์ ์ฝ๋๊ฐ ํ์ํ๊ฑฐ๋ ์กฐ๊ฑด๋ฌธ ๋ฑ ๋ณต์กํ ๋ก์ง์ ์์ฑํด์ผ ํ ๋ ์ฌ์ฉํ๋ค.const items = ['Apple', 'Banana', 'Cherry'];const listItem..
2024.05.29 -
- [React.js] ์ค์๊ฐ์ผ๋ก ํน์ ์์์ ๊ธธ์ด๊ฐ ๊ฐ์ ธ์ค๊ธฐ
์ค์๊ฐ์ผ๋ก ํน์ ์์์ ๊ธธ์ด๊ฐ ๊ฐ์ ธ์ค๊ธฐ๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ์ ์ ์ค์๊ฐ์ผ๋ก ํน์ ์์์ ๊ธธ์ด๊ฐ์ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ์์๋ณด์. ๋ฐฉ๋ฒ์ฐ์ @useRef@๋ฅผ ์ด์ฉํ์ฌ ์ค์๊ฐ์ผ๋ก ๊ธธ์ด๊ฐ์ ๊ฐ์ ธ์ฌ ์์๋ฅผ ์ง์ ํด์ค๋ค.import {useRef} from 'react';// ...const horiRef = useRef(null);// ...return ( {/* ... */} ); ๋ค์๊ณผ ๊ฐ์ด @useEffect@์ @ResizeObserver@๋ฅผ ์ด์ฉํ์ฌ ํด๋น ์์์ ์ฌ์ด์ฆ๊ฐ์ ์ค์๊ฐ์ผ๋ก ๊ฐ์ ธ์ฌ ์ ์๋ค.import { useEffect } from 'react';useEffect(() => { const resizeObserver = new ResizeObserver((entries) => ..
2024.03.26 -
- [JavaScript] ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ(Asynchronous Programming)
์๋ฐ์คํฌ๋ฆฝํธ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ(Asynchronous Programming) ๋ค์ด๊ฐ๋ฉฐ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ(Asynchronous Programming)์ ๋ํด ๊ณต๋ถํ๋ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณธ๋ค. ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ(Asynchronous Programming) ๊ฐ๋ ์๋ฐ์คํฌ๋ฆฝํธ์์ ์๋ฒ์ ํต์ ์ ํ๋ค ๋ณด๋ฉด ์ด๋ค ์๋ฃ๋ฅผ ์์ฒญํ๊ณ ๋ฐ๋์ง์ ๋ฐ๋ผ, ๋๋ ๋คํธ์ํฌ ์๋์ ๋ฐ๋ผ ์กฐ๊ธ์ฉ ์ฒ๋ฆฌ ์๊ฐ์ด ๋ฌ๋ผ์ง๋ค. ๊ทธ๋ฆฌ๊ณ ์๊ฐ ์ฐจ์ด๊ฐ ๋๋ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์์ ์์๋๋ก ์ฒ๋ฆฌํด์ผ ํ๋๋ฐ, ์ด๋ฌํ ์ฒ๋ฆฌ ๋ฐฉ์์ '๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ฐฉ์'์ด๋ผ๊ณ ํ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋จ์ ๋ง์ ํจ์๋ค์ด ๋ชจ์ฌ์ ํ๋์ ๊ธฐ๋ฅ์ ๋ง๋ ๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ค ํจ์์ ์คํ ์๊ฐ์ด ์๋ก ๋ค๋ฅด๋ฏ๋ก ํน์ ์์ ์ด ๋๋๋ฉด ๋ค๋ฅธ ์์ ์ ํ๊ณ , ๊ทธ ์์ ์ด ๋๋๋ฉด ์ด์ด์ ๋..
2024.01.24 -
- [JavaScript] ๋ณ์ ์ฌ์ ์ธ๊ณผ ์ฌํ ๋น (var, let, const)
๋ณ์ ์ฌ์ ์ธ๊ณผ ์ฌํ ๋น (var, let, const) ๋ค์ด๊ฐ๋ฉฐ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ณ์(@var@, @let@, @const@)์ ์ฌ์ ์ธ๊ณผ ์ฌํ ๋น์ ๋ํ์ฌ ์์๋ณด์. ์ฌ์ ์ธ๊ณผ ์ฌํ ๋น โ @var@ ์ฌ์ ์ธ ๋ฐ ์ฌํ ๋น์ด ๋ชจ๋ ๊ฐ๋ฅํ๋ค. var sum = add(10, 20); console.log(sum); // 30 var sum = 100; // ์ฌ์ ์ธ (๊ฐ๋ฅ) console.log(sum); // 100 sum = 200; // ์ฌํ ๋น (๊ฐ๋ฅ) console.log(sum); // 200 ํ์ง๋ง @var@์ ์ฌ์ฉํ ๊ฒฝ์ฐ, ๋ค์๊ณผ ๊ฐ์ด ํธ์ด์คํ (Hoisting)์ด ๋ฐ์ํ ์ ์๋ค. var x = 10; var sum = x + y; // y ๋ณ์๊ฐ ์ ์ธ๋๊ธฐ ์ ์ ์คํ var y = 20; console.log..
1 2024.01.18 -
- [JavaScript] ์คํ๋ ๋ ์ฐ์ฐ์(Spread Operator)
์คํ๋ ๋ ์ฐ์ฐ์(Spread Operator) ๋ค์ด๊ฐ๋ฉฐ ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript) ES6์ ์ถ๊ฐ๋ ์คํ๋ ๋ ์ฐ์ฐ์(Spread Operator)์ ๋ํด ์์๋ณด์. ์คํ๋ ๋ ์ฐ์ฐ์(Spread Operator) ๊ฐ๋ ์คํ๋ ๋ ์ฐ์ฐ์(@...@)๋ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฐฐ์ด(Array)์ด๋ ๊ฐ์ฒด(Object)๋ฅผ ํ์ฅํ๊ฑฐ๋ ํผ์น๋๋ฐ ์ฌ์ฉ๋๋ค. ์ด ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐฐ์ด์ด๋ ๊ฐ์ฒด์ ์์๋ฅผ ์ถ์ถํ๊ฑฐ๋ ๋ณต์ ํ์ฌ ๋ค๋ฅธ ๋ฐฐ์ด์ด๋ ๊ฐ์ฒด์ ํฌํจ์ํฌ ์ ์๋ค. ์คํ๋ ๋ ์ฐ์ฐ์๋ ์ฝ๋๋ฅผ ๋ ๊ฐ๊ฒฐํ๊ฒ ๋ง๋ค๊ณ ๋ฐฐ์ด์ด๋ ๊ฐ์ฒด๋ฅผ ์กฐ์ํ๊ฑฐ๋ ๋ณต์ ํ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๋ค. ํ์ฉ ๋ฐฉ๋ฒ โ ๋ฐฐ์ด(Array)์์์ ์คํ๋ ๋ ์ฐ์ฐ์ ํ์ฉ ๋ฐฐ์ด์์ ์คํ๋ ๋ ์ฐ์ฐ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉ๋ ์ ์๋ค. const numbers = [1, 2, 3];..
2023.12.14 -
- [React.js] ํด๋์ค ์ปดํฌ๋ํธ(Class Components)์ ํจ์ํ ์ปดํฌ๋ํธ(Functional Components)
ํด๋์ค ์ปดํฌ๋ํธ(Class Components)์ ํจ์ํ ์ปดํฌ๋ํธ(Functional Components) ๋ค์ด๊ฐ๋ฉฐ ๋ฆฌ์กํธ(React)๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํด๋์ค ์ปดํฌ๋ํธ(Class Components)์ ํจ์ํ ์ปดํฌ๋ํธ(Functional Components) 2๊ฐ์ง ์ ํ์ ์ปดํฌ๋ํธ๋ฅผ ์ ๊ณตํ๋ค. ์ต์ ๋ฆฌ์กํธ ๋ฒ์ ์์๋ ํจ์ํ ์ปดํฌ๋ํธ์ ํ ์ค(Hooks)๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ถ์ฅ๋๋ฉฐ, ์ํ ๊ด๋ฆฌ๋ ๋ผ์ดํ์ฌ์ดํด ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฅผ ๋ ๊ฐ๋จํ๊ฒ ํ ์ ์๋ ์ฅ์ ์ด ์๋ค. ๊ทธ๋ฌ๋ ์ด๋ฏธ ํด๋์ค ์ปดํฌ๋ํธ๋ก ์์ฑ๋ ์ฝ๋๊ฐ ๋ง๋ค๋ฉด, ๋ฐ๋ก ๋ณ๊ฒฝํ ํ์๋ ์๋ค. ํด๋์ค ์ปดํฌ๋ํธ์ ํจ์ํ ์ปดํฌ๋ํธ์ ๋ํด ์์๋ณด์. ํด๋์ค ์ปดํฌ๋ํธ(Class Components) ES6์ ํด๋์ค ๋ฌธ๋ฒ์ ์ฌ์ฉํ์ฌ ์์ฑ๋๋ค. @class@ ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ..
2023.12.14 -
- [JavaScript] ๋์คํธ๋ญ์ฒ๋ง(Destructuring)
๋์คํธ๋ญ์ฒ๋ง(Destructuring) ๋ค์ด๊ฐ๋ฉฐ ์๋ฐ์คํฌ๋ฆฝํธ ES6์ ์ถ๊ฐ๋ ๋์คํธ๋ญ์ฒ๋ง(Destructuring) ๊ธฐ๋ฅ์ ๋ํด ์์๋ณด์. ๋์คํธ๋ญ์ฒ๋ง(Destructuring) ๊ฐ๋ ECMAScript 2015(ES6)์์ ๋์ ๋ ๊ธฐ๋ฅ ์ค ํ๋ ES6์์ ๋ฐฐ์ด(Array)๊ณผ ๊ฐ์ฒด(Object)์ ์์๋ค์ ํด์ฒด(Destructuring)ํ์ฌ ๋ณ์์ ํ ๋น(Assign)ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ฑ์ฅํ๋ค. ์ด์ ์๋ ์์๋ค์ ํ๋์ฉ ๋ณ์์ ํ ๋นํ๋ ๋ฒ๊ฑฐ๋ก์ด ์์ ์ ํด์ผํ๋๋ฐ, ๋์คํธ๋ญ์ฒ๋ง์ ์ด๋ฅผ ๋ณด๋ค ๊ฐ๋จํ๊ณ ์ง๊ด์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ ํด์ค๋ค. ์ด๋ฅผ ํตํด ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ๋์ผ ์ ์๊ฒ ๋์๋ค. ์ข ๋ฅ ๋ฐ ์ฌ์ฉ ๋ฐฉ๋ฒ ๋์คํธ๋ญ์ฒ๋ง์ ๋ณ์ ์ด๋ฆ๊ณผ ๊ฐ์ฒด ๋๋ ๋ฐฐ์ด์ ์์ฑ ์ด๋ฆ์ด๋ ์์๊ฐ ์ผ์นํด์ผ ํ๋ค. const an..
2023.12.14 -
- [React.js] ํ (Hook)
ํ (Hook)๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ(React)์์ ์ฌ์ฉ๋๋ ๊ธฐ๋ณธ์ ์ธ ํ (Hook)๋ค์ ๋ํด ์์๋ณด์. ํ (Hook)๊ฐ๋ ํจ์ ์ปดํฌ๋ํธ์์ ์ํ(State)๋ ์๋ช ์ฃผ๊ธฐ ๊ธฐ๋ฅ ๋ฑ์ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ ๊ธฐ๋ฅํด๋์ค ์ปดํฌ๋ํธ์ ๊ธฐ๋ฅ์ ํจ์ ์ปดํฌ๋ํธ์์๋ ์ฌ์ฉํ ์ ์๊ฒ ํด์ค๋ค.๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ํ ์ผ๋ก๋ @useState@, @useEffect@, @useContext@ ๋ฑ์ด ์๋ค.๊ฐ๊ฐ์ ํ ์ ํ์ฉํ๋ฉด ํจ์ ์ปดํฌ๋ํธ์์ ์ํ ๊ด๋ฆฌ, ๋ถ์ ํจ๊ณผ ์ฒ๋ฆฌ, ์ ์ญ์ ์ธ ๋ฐ์ดํฐ ๊ณต์ ๋ฑ์ ํธ๋ฆฌํ๊ฒ ํ ์ ์๋ค.์ด ์ธ์๋ ๋ง์ ๋ค์ํ ํ ์ด ์์ผ๋ฉฐ, ์ง์ ์ปค์คํ ํ ์ ๋ง๋ค์ด ์ฌ์ฉํ ์๋ ์๋ค.ํ ์ ์ฌ์ฉํ๋ฉด ํจ์ ์ปดํฌ๋ํธ์์ ์ํ๋ฅผ ๊ด๋ฆฌํ๊ณ , ์๋ช ์ฃผ๊ธฐ ๋ฉ์๋๋ฅผ ์ด์ฉํ ์ ์์ด ํจ์ฌ ๊ฐ๊ฒฐํ๊ณ ์ ์ฐํ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๊ฒ ๋๋ค. ์ข ๋ฅ..
2023.12.13 -
- [JavaScript] Map / Filter / Reduce / Find / FindIndex / IndexOf / Includes
Map / Filter / Reduce / Find / FindIndex / IndexOf / Includes ๋ค์ด๊ฐ๋ฉฐ ์๋ฐ์คํฌ๋ฆฝํธ ES6์ @Map@, @Filter@, @Reduce@, @Find@, @FindIndex@, @IndexOf@, @Includes@ ํจ์์ ๋ํด ์์๋ณด์. ์ด ํจ์๋ค์ ๋ฐฐ์ด์ ๋ค์ํ ๋ฐฉ์์ผ๋ก ์กฐ์ํ๊ณ ํํฐ๋งํ๋ฉฐ, ๋ฐฐ์ด ์์๋ฅผ ๊ฐ๊ณตํ์ฌ ํ์ํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๋ค. ์ค๋ช โ Map Map ํจ์๋ ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์ฃผ์ด์ง ํจ์๋ฅผ ํธ์ถํ๊ณ , ๊ทธ ํจ์๊ฐ ๋ฐํํ๋ ๊ฐ์ ๋ชจ์ ์๋ก์ด ๋ฐฐ์ด์ ์์ฑํ๋ค. ๊ธฐ์กด ๋ฐฐ์ด์ ๊ฐ ์์๋ฅผ ๋ณํํ์ฌ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ค ๋ ์ฃผ๋ก ์ฌ์ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ชจ๋ ์์๋ฅผ 2๋ฐฐ๋ก ๋ง๋๋ ๊ฒฝ์ฐ์ ๊ฐ์ด ๊ฐ ์์๋ฅผ ์์ ํ๊ณ ์๋ก์ด ๋ฐฐ์ด์ ์์ฑํ๋ ..
2023.12.13 -
- [JavaScript] ๋ชจ๋ ์์คํ (import/export)
๋ชจ๋ ์์คํ (import/export) ๋ค์ด๊ฐ๋ฉฐ ES6์์ ๋์ ๋ ๋ชจ๋ ์์คํ (Module System)์ ๋ํด์ ์์๋ณด์. ๋ชจ๋ ์์คํ ๊ฐ๋ ES6์์ ๋์ ๋ ๋ชจ๋ ์์คํ ์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ฌ๋ฌ ํ์ผ๋ก ๋๋๊ณ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋๋ก ๊ตฌ์ฑํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์ด ๊ธฐ๋ฅ์ @import@์ @export@ ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋์ ๊ฐ์ ธ์ค๊ณ ๋ด๋ณด๋ด๋ ๊ฒ์ผ๋ก ์ด๋ฃจ์ด์ง๋ค. ๋ด๋ณด๋ด๊ธฐ(Export) ๋ชจ๋์์ ํน์ ํ ๊ธฐ๋ฅ, ๋ณ์, ํจ์, ํด๋์ค ๋ฑ์ ๋ค๋ฅธ ํ์ผ์์ ์ฌ์ฉํ ์ ์๋๋ก ๋ด๋ณด๋ด๋ ค๋ฉด @export@ ํค์๋๋ฅผ ์ฌ์ฉํ๋ค. โ Named Export ๋ด๋ณด๋ด๋ ค๋ ๋์์ ์ด๋ฆ์ ๋ถ์ฌ์ ๋ด๋ณด๋ด๋ ๋ฐฉ๋ฒ์ด๋ค. // ๋ณ์, ํจ์, ํด๋์ค ๋ฑ์ ๋ด๋ณด๋ด๊ธฐ export const myVariable = 10; export f..
2023.11.27 -
- [JavaScript] splice ๋ฉ์๋, slice ๋ฉ์๋, split ๋ฉ์๋ ๋น๊ต
splice ๋ฉ์๋, slice ๋ฉ์๋, split ๋ฉ์๋ ๋น๊ต ๋ค์ด๊ฐ๋ฉฐ ์๋ฐ์คํฌ๋ฆฝํธ์ @splice@ ๋ฉ์๋์ @slice@ ๋ฉ์๋, @split@ ๋ฉ์๋๋ฅผ ๋น๊ตํด๋ณด๊ณ ์ฐจ์ด์ ์ ์์๋ณด์. @splice@ ๋ฉ์๋ ์ค๋ช ๋ฐฐ์ด์ ์์๋ฅผ ์ ๊ฑฐํ๊ฑฐ๋ ์ฝ์ ํ ์ ์๋ค. ์ฌ์ฉ๋ฒ array.splice(start, deleteCount[, item1, item2, ...]) @start@ : ๋ณ๊ฒฝ์ ์์ํ ์ธ๋ฑ์ค @deleteCount@ : ์ ๊ฑฐํ ์์์ ๊ฐ์ @item1, item2, ...@ : ์ถ๊ฐํ ์์ [์ ํ ์ฌํญ] ์ฌ์ฉ ์ let array = [1, 2, 3, 4, 5]; array.splice(2, 1); // ์ธ๋ฑ์ค 2์์ 1๊ฐ์ ์์ ์ ๊ฑฐ -> [1, 2, 4, 5] array.splice(1, 0..
1 2023.11.16 -
- [JavaScript] ํ์ดํ ํจ์(Arrow Function)
ํ์ดํ ํจ์(Arrow Function)๋ค์ด๊ฐ๋ฉฐ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript)์ ํ์ดํ ํจ์(Arrow Function)์ ๋ํด ์์๋ณด์. ํ์ดํ ํจ์(Arrow Function)๊ฐ๋ ES6(ECMAScript 2015)์์ ๋์ ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ์๋ก์ด ํจ์ ์ ์ธ ๋ฐฉ์์ผ๋ฐ ํจ์ ์ ์ธ๋ณด๋ค ๊ฐ๊ฒฐํ๊ณ ์งง์ ๋ฌธ๋ฒ์ ์ ๊ณตํ์ฌ ์ฝ๋๋ฅผ ๋ ์ฝ๊ธฐ ์ฝ๊ณ ๊ฐ๊ฒฐํ๊ฒ ๋ง๋ค์ด์ค๋ค.ํ์ดํ ํจ์๋ ๊ฐ๊ฒฐํ๊ณ ์ฝ๋ฐฑ ํจ์๋ฅผ ์ฌ์ฉํ ๋ ์ ์ฉํ๋ฐ, ํนํ ๋ฐ๋ณต์ ์ธ ์ฝ๋ ์์ฑ์ ์ค์ฌ์ฃผ๋๋ฐ ๋์์ ์ค๋ค.๊ทธ๋ฌ๋ ๋ชจ๋ ์ํฉ์์ ์ฌ์ฉํด์ผ ํ๋ ๊ฒ์ ์๋๋ฉฐ, ํนํ ๋ฉ์๋ ํจ์์์๋ ์ผ๋ฐ ํจ์์์ ์ฐจ์ด์ ์ ๊ณ ๋ คํ์ฌ ์ฌ์ฉํด์ผ ํ๋ค. ๊ธฐ๋ณธ ๋ฌธ๋ฒํ์ดํ ํจ์๋ @const functionName = (parameters) => { function body }..
2023.11.16 -
- [Axios] Axios ๋ผ์ด๋ธ๋ฌ๋ฆฌ
Axios ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด๊ฐ๋ฉฐAxios ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ์์๋ณด์. Axios๊ฐ๋ Node.js ๋ฐ ๋ธ๋ผ์ฐ์ ์์ ๋์ํ๋ HTTP ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋์ฃผ๋ก HTTP ์์ฒญ(Request)์ ์์ฑํ๊ณ ์๋ต(Response)์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.Axios๋ Promise ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋์ด ์์ด ๋น๋๊ธฐ ์ฝ๋๋ฅผ ์ฝ๊ฒ ๋ค๋ฃฐ ์ ์๋ค.๋์ผํ ์ฝ๋๋ฒ ์ด์ค๋ก ๋ธ๋ผ์ฐ์ ์ Node.js์์ ์คํํ ์ ์๋ค.์๋ฒ ๋จ(Server-Side)์์๋ ๋ค์ดํฐ๋ธ Node.js์ @http@ ๋ชจ๋์ ์ฌ์ฉํ๊ณ , ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )์์๋ @XMLHttpRequests@๋ฅผ ์ฌ์ฉํ๋ค.Axios๋ฅผ ์ฌ์ฉํ๋ฉด HTTP ์์ฒญ์ ์ฝ๊ฒ ์์ฑํ๊ณ ์๋ต์ ์ฒ๋ฆฌํ ์ ์๋ค.ํนํ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์์ Promise๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์ฝ๋๊ฐ ๋ ์ฝ๊ธฐ ์ฝ๊ณ ์ ..
2023.11.15 -
- [Node.js] EJS(Embedded JavaScript)
EJS(Embedded JavaScript) ๋ค์ด๊ฐ๋ฉฐ EJS(Embedded JavaScript)์ ๋ํด ์์๋ณด์. EJS(Embedded JavaScript) ๊ฐ๋ JavaScript ๊ธฐ๋ฐ์ ํ ํ๋ฆฟ ์์ง ์๋ฒ ์ธก(Server-side)์์ ๋์ ์ธ ์น ํ์ด์ง๋ฅผ ์์ฑํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. EJS๋ฅผ ์ฌ์ฉํ๋ฉด HTML ์ฝ๋ ์์ JavaScript ์ฝ๋๋ฅผ ์ฝ์ ํ์ฌ ๋์ ์ผ๋ก ํ์ด์ง๋ฅผ ์์ฑํ ์ ์๋ค. ํน์ง โ ํธ๋ฆฌํ ๋ฌธ๋ฒ EJS๋ ๊ฐ๋จํ๊ณ ์ง๊ด์ ์ธ ๋ฌธ๋ฒ์ ์ ๊ณตํ๋ค. HTML ์์ @@์ ๊ฐ์ ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ JavaScript ์ฝ๋๋ฅผ ์ฝ์ ํ ์ ์๋ค. โก ํ ํ๋ฆฟ ์ฌ์ฌ์ฉ EJS๋ฅผ ์ฌ์ฉํ๋ฉด ํ ํ๋ฆฟ์ ์์ฑํ์ฌ ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ ์ ์๋ค. ์ด๊ฒ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ผ๊ด๋ ๋ ์ด์์์ ์ ์งํ๋ ๋ฐ ๋์์ด ๋๋ค. โข ๋ณ์ ์ฝ..
2023.11.09 -
- [JavaScript] ์น ์์์ ๋ด์ฉ ๊ฐ์ ธ์ค๊ธฐ (innerText, innerHTML, textContent)
์น ์์์ ๋ด์ฉ ๊ฐ์ ธ์ค๊ธฐ (innerText, innerHTML, textContent)๋ค์ด๊ฐ๋ฉฐ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์น ์์์ ๋ด์ฉ์ ๊ฐ์ ธ์ค๊ณ ์์ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์. ์น ์์์ ๋ด์ฉ ๊ฐ์ ธ์ค๊ธฐโ @innerText@ ํ๋กํผํฐ์น์์.innerText์น ๋ธ๋ผ์ฐ์ ์์ ๋ณด์ด๋ ๋ด์ฉ๋ง ๊ฐ์ ธ์จ๋ค.@display: none@์ ์ฌ์ฉํด์ ํ๋ฉด์์ ๊ฐ์ถ ์์์ ๋ด์ฉ์ ๊ฐ์ ธ์ค์ง ์๋๋ค.์์ค ์ฝ๋์ ๊ณต๋ฐฑ์ด ์ฌ๋ฌ ๊ฐ ์ ๋ ฅ๋์ด ์์ด๋ ์น ๋ธ๋ผ์ฐ์ ์ฐฝ์ ๋ณด์ด๋ ๋๋ก ๊ณต๋ฐฑ 1์นธ๋ง ๊ฐ์ ธ์จ๋ค. โก @innerHTML@ ํ๋กํผํฐ์น์์.innerHTML์น ๋ธ๋ผ์ฐ์ ์ฐฝ์ ์ด๋ป๊ฒ ๋ณด์ด๋์ง์๋ ์๊ด ์์ด, ์์ ์์ ์๋ ํ๊ทธ(Tag)์ ํจ๊ป ์์ค ์ฝ๋์ ์๋ ๊ทธ๋๋ก ๊ฐ์ ธ์จ๋ค. โข @textContent@ ํ๋กํผํฐ์น์์.textContent์์์ ..
2023.07.29 -
- [JavaScript] ์๋ฐ์คํฌ๋ฆฝํธ(ES6)์ ๋ค์ํ for ๋ฌธ : forEach ๋ฌธ, for ... in ๋ฌธ, for ... of ๋ฌธ
์๋ฐ์คํฌ๋ฆฝํธ(ES6)์ ๋ค์ํ for ๋ฌธ : forEach ๋ฌธ, for ... in ๋ฌธ, for ... of ๋ฌธ๋ค์ด๊ฐ๋ฉฐ์๋ฐ์คํฌ๋ฆฝํธ ES6์ ์๋ ๋ค์ํ ์ข ๋ฅ์ for ๋ฌธ์ ๋ํด ์์๋ณด์.์๋ฐ์คํฌ๋ฆฝํธ์๋ for ๋ฌธ, forEach ๋ฌธ, for ... in ๋ฌธ, for ... of ๋ฌธ์ด ์๋ค. (ES6 ๊ธฐ์ค) โ for ๋ฌธfor (์ด๊น๊ฐ; ์กฐ๊ฑด; ์ฆ๊ฐ์) { ... } ์กฐ๊ฑด์ ๋ค์ด๊ฐ๋ ๊ฐ์ด ์ผ์ ํ๊ฒ ์ปค์ง๋ฉด์ ๋ช ๋ น์ ๋ฐ๋ณต ์คํํ ๋ ํธ๋ฆฌํ๋ค.๋ช ๋ฒ ๋ฐ๋ณตํ๋์ง ๊ธฐ๋กํ๊ธฐ ์ํด ์นด์ดํฐ๋ฅผ ์ฌ์ฉํ๊ณ , for ๋ฌธ์ ์ฒซ ๋ฒ์งธ ํญ์์ ์นด์ดํฐ ๋ณ์๋ฅผ ์ง์ ํ๋ค. ์์ ์ฝ๋const seasons = ["Spring", "Summer", "Fall", "Winter"];for (let i = 0; i ์์ ์ฝ๋์์ ๋ฐฑํฑ(Bac..
2023.07.19 -
- [JavaScript] ==/!= ์ฐ์ฐ์์ ===/!== ์ฐ์ฐ์์ ์ฐจ์ด์
==/!= ์ฐ์ฐ์์ ===/!== ์ฐ์ฐ์์ ์ฐจ์ด์ ๋ค์ด๊ฐ๋ฉฐ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ฌ์ฉ๋๋ @==@ / @!=@ ์ฐ์ฐ์์ @===@ / @!==@ ์ฐ์ฐ์์ ์ฐจ์ด์ ์ ๋ํด ์์๋ณด์. @==@ / @!=@ ์ฐ์ฐ์๋น๊ตํ๋ ํผ์ฐ์ฐ์์ ์๋ฃํ์ ์๋์ผ๋ก ๋ณํํด์ ๋น๊ตํ๋ค.์ซ์ @3@๊ณผ ๋ฌธ์์ด @"3"@์ ๋น๊ตํ๋ฉด, ๋ฌธ์์ด๋ก ๋ณํํด์ ๋น๊ตํ๋ฏ๋ก 2๊ฐ์ ๊ฐ์ด ๊ฐ๋ค๊ณ ์ธ์ํ๋ค.3 == "3" // true3 != "3" // false @===@ / @!==@ ์ฐ์ฐ์๊ฐ ๋ฟ๋ง ์๋๋ผ ๋ฐ์ดํฐ ์ ํ(์๋ฃํ)๊น์ง ๋น๊ตํ๋ค.์๋์ผ๋ก ์๋ฃํ์ด ๋ณํ๋์ง ์๋๋ค.๋ฐ๋ผ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋ฉด์ ๊ฐ์ ๋น๊ตํ ๋๋ @==@, @!=@ ์ฐ์ฐ์๋ณด๋ค @===@, @!==@ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.3 === "3" // fals..
2023.07.19