Front-end/JavaScript(48)
-
B27: JSON ๋ฉ์๋
๋ชฉ์ฐจ1. JSON2. JSON.stringify3. JSON.parse1. JSONJSON(JavaScript Object Notation)์ ๊ฐ, ๊ฐ์ฒด๋ฅผ ๋ํ๋ด์ฃผ๋ ๋ฒ์ฉ ํฌ๋งท์ด๋ค. ๊ฐ์ฒด๋ฅผ ์ด๋๊ฐ๋ก ์ ์กํ๊ฑฐ๋ ์ถ๋ ฅํ ๋, ๊ฐ์ฒด๋ฅผ ๋ฌธ์์ด๋ก ์ ํํด์ผํ๋ค.์ด ์์ ์ ๊ฐ์ฒด๊ฐ ๋ฌ๋ผ์ง ๋๋ง๋ค toString()์ผ๋ก ํ๊ธฐ์๋ ๋๋ฌด ๊น๋ค๋ก์ด๋ฐ, ์ด๋ด ๋ JSON ๊ด๋ จ ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ์์ ํ ์ ์๋ค.JSON.stringify : ๊ฐ์ฒด → JSON ๋ณํJSON.parse : JSON → ๊ฐ์ฒด ๋ณํ 2. JSON.stringify JSON.stringify() ๋ฉ์๋์ ์ธ์๋ก ๊ฐ์ฒด/์์๊ฐ์ ๋๊ธฐ๋ฉด ๋ณํ๋ ๋ฌธ์์ด์ ์ป์ ์ ์๋ค.์ด ๋ฌธ์์ด์ JSON-encoded, serialized, stringified, marsha..
2025.08.26 -
B26: ๊ตฌ์กฐ ๋ถํด ํ ๋น : object๋ฅผ ๋ณ์๋ก ๋ถํดํ๊ธฐ
๋ชฉ์ฐจ1. ๊ตฌ์กฐ ๋ถํด ํ ๋น2. ๋ฐฐ์ด ๋ถํด3. ๊ฐ์ฒด ๋ถํด4. ์ค์ฒฉ ๊ตฌ์กฐ ๋ถํด (nested destructuring)5. ํจ์์ ๊ตฌ์กฐ ๋ถํด 5-1. ํจ์ ๋งค๊ฐ๋ณ์ 5-2. ํจ์ ๋ฐํ๊ฐ6. ์์1. ๊ตฌ์กฐ ๋ถํด ํ ๋นํจ์์ ๊ฐ์ฒด/๋ฐฐ์ด์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์ผ๋ถ๋ง ์ ๋ฌํ๊ณ ์ถ์ ๊ฒฝ์ฐ, ๋ฐฐ์ด์ ๋ณ์๋ก ๋ถํดํ์ฌ ์ ๋ฌํ ์ ์๋ค.ํน์ ํจ์์ ๋งค๊ฐ๋ณ์๊ฐ ์ฌ๋ฌ๊ฐ์ด๊ฑฐ๋, ๋งค๊ฐ๋ณ์ ๊ธฐ๋ณธ๊ฐ์ด ํ์ํ ๋๋ ๊ตฌ์กฐ ๋ถํด๋ฅผ ํ ์ ์๋ค. ๊ตฌ์กฐ ๋ถํด ํ ๋น (destructuring assignment)์๊ฐ์ฒด/๋ฐฐ์ด์ ์์ฑ์ ํด์ฒดํ์ฌ ๋ณ์์ ๋ด์ ์ ์๊ฒ ํ๋ ๋ฌธ๋ฒ(ํํ์)์ด๋ค. ํด์ฒดํ๋ค๊ณ ํด์ ์๋ณธ ๊ฐ์ฒด/๋ฐฐ์ด์ด ์์ ๋๊ฑฐ๋ ํ๊ดด๋๋ ๊ฒ์ ์๋๋ค.์๋ณธ์ ๋ณต์ฌํ "์ดํ"์ ๋ถํด๋ฅผ ํ๋ ๊ฒ์ผ๋ก,๋ฐฐ์ด์ ์์๋ฅผ ์ง์ ๋ณ์์ ํ๋ํ๋ ํ ๋นํ๋ ..
2025.08.26 -
B25 : ๊ฐ์ฒด ๋ฉ์๋ Object.keys, values, entries
๋ชฉ์ฐจ1. ์ํ(iteration)2. Object.keys, values, entries3. ๊ฐ์ฒด์ ๋ฐฐ์ด ์ ์ฉ ๋ฉ์๋ ์ฌ์ฉํ๋ ๋ฒ1. ์ํ (iteration)Map, Set, Array(iterable ๊ฐ์ฒด)์์ ์ฌ์ฉํ๋ ๋ฉ์๋ keys(), values(), entries()์์ผ๋ฐ ๊ฐ์ฒด(iterable ์๋)์์ ์ฌ์ฉํ๋ ๋ฉ์๋ keys(), values(), entries()๋ ๋ฌธ๋ฒ ์ฐจ์ด๊ฐ ์๋ค.Object.keys(obj) : ๊ฐ์ฒด์ ํค๋ง ๋ด์ ๋ฐฐ์ด ๋ฐํObject.values(obj) : ๊ฐ์ฒด์ ๊ฐ๋ง ๋ด์ ๋ฐฐ์ด ๋ฐํObject.entries(obj) : [ํค, ๊ฐ] ์์ ๋ด์ ๋ฐฐ์ด์ ๋ฐํ 2. Object.keys, values, entries์ผ๋ฐ ๊ฐ์ฒด์ iterable ๊ฐ์ฒด์ ๋ฉ์๋๋ค์ ์ฐจ์ด๋ฅผ..
2025.08.26 -
B25 : ์ํฌ๋งต๊ณผ ์ํฌ์ (weak) ๊ฐ์ฒด
๋ชฉ์ฐจ1. ์ํฌ๋งต๊ณผ ์ํฌ์ 2. ์ํฌ๋งต (WeekMap) 2-1. ๋งต๊ณผ ์ํฌ๋งต์ ์ฐจ์ด (์ํฌ๋งต์ ํน์ง) 2-2. ์ํฌ๋งต์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ3. ์ํฌ์ (WeekSet)1. ์ํฌ๋งต๊ณผ ์ํฌ์ ๊ฐ์ฒด์ ํ๋กํผํฐ, ๋ฐฐ์ด์ ์์, ๋งต๊ณผ ์ ์ ๊ตฌ์ฑ ์์๋ค์ ๊ฐ๋น์ง์ปฌ๋ ํฐ์ ์ํด ์ญ์ ๋์ง ์๋๋ค.์๋ฃ๊ตฌ์กฐ๊ฐ ๋จ์์๋ ๋์์ ๊ทธ ์์๋ ๋๋ฌ ๊ฐ๋ฅํ ๊ฐ์ผ๋ก ์ทจ๊ธ๋๊ธฐ ๋๋ฌธ์ด๋ค. ์ํฌ๋งต๊ณผ ์ํฌ์ ์ ์ฌ์ฉํ๋ฉด ํค๋ก ์ฐ์ธ ๊ฐ์ฒด๊ฐ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ๋์์ด ๋๋ค. 2. ์ํฌ๋งต (WeekMap)1. ๋งต๊ณผ ์ํฌ๋งต์ ์ฐจ์ด (์ํฌ๋งต์ ํน์ง)1. ์ํฌ๋งต์ ํค๋ ๋ฐ๋์ ๊ฐ์ฒด์ฌ์ผ ํ๋ค. (์์๊ฐ์ ์ํฌ๋งต์ ํค๊ฐ ๋ ์ ์์)let weakMap = new WeakMap();let obj = {};weakMap.set(obj, "ok"); // ์ ์ ..
2025.08.26 -
B24: ๋งต๊ณผ ์ (map & set) ๊ฐ์ฒด
๋ชฉ์ฐจ1. ๋งต๊ณผ ์ ์ ๋ฑ์ฅ ๋ฐฐ๊ฒฝ2. ๋งต (map) 2-1. ์ฃผ์ ๋ฉ์๋/ํ๋กํผํฐ 2-2. map์ ๋์ ํน์ง 2-3. ๋งต์ ์์์ ๋ฐ๋ณต ์์ ํ๋ ๋ฉ์๋ : keys(), values(), entries() 2-4. ๊ฐ์ฒด ↔ ๋งต : Object.entries, Object.fromEntries3. ์ (set) 3-1. ์ฃผ์ ๋ฉ์๋ 3-2. ์ ์ ์์์ ๋ฐ๋ณต ์์ ํ๋ ๋ฉ์๋ : keys(), values(), entries()1. ๋งต๊ณผ ์ ์ ๋ฑ์ฅ ๋ฐฐ๊ฒฝ์ง๊ธ๊น์ง ์๋ฃ๊ตฌ์กฐ ๊ฐ์ฒด์ ๋ฐฐ์ด์ ๋ณด์๋ค.ํ์ง๋ง ํ์ค ์ธ๊ณ๋ฅผ ๋ฐ์ํ๊ธฐ์ ๊ฐ์ฒด์ ๋ฐฐ์ด๋ก ๋ถ์กฑํด์ map๊ณผ set์ด ๋ฑ์ฅํ๋ค. ๊ฐ๋จํ๊ฒ ์ฐจ์ด์ ์ ๋ณด์.๊ฐ์ฒด : ํค(key)๊ฐ ์๋ ์ปฌ๋ ์ ์ ์ ์ฅ๋ฐฐ์ด : ์์๊ฐ ์๋ ์ปฌ๋ ์ ์ ์ ์ฅ๋งต(map..
2025.08.26 -
์ค์ฝํ์ ํธ์ด์คํ ํํค์น๊ธฐ
๋ชฉ์ฐจ1. ์ค์ฝํ (Scope) 1-1. ์ค์ฝํ๋ 1-2. ๋ ์์ปฌ ์ค์ฝํ 1-3. ์ค์ฝํ ์ฒด์ธ2. ํธ์ด์คํ (Hoisting)3. JS์์ง์ด ์ค์ฝํ์ ํธ์ด์คํ ์ ๊ตฌํํ๋ ๋ฐฉ์ 3-1. ์คํ ์ปจํ ์คํธ ๊ตฌ์กฐ ๊ฐ๋จํ๊ฒ ๋ณด๊ธฐ 3-2. ์คํ ์ปจํ ์คํธ์์ 3-3. ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์์ 3-4. ์คํ ์ปจํ ์คํธ + ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ ํจ๊ป ๋ณด๊ธฐ 1. ์คํ ์ปจํ ์คํธ ๊ตฌ์กฐ ๊ฐ๋จํ๊ฒ2. ์คํ ์ปจํ ์คํธ์์3. ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์์4. ์คํ ์ปจํ ์คํธ + ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ ํจ๊ป ๋ณด๊ธฐ1. ์ค์ฝํ (Scope)1. ์ค์ฝํ๋์ค์ฝํ๋ ๋ณ์๋ ๋งค๊ฐ๋ณ์์ ์ ๊ทผํ ์ ์๋ ๋ฒ์์ด๋ค. ์ค์ฝํ ์ข ๋ฅ์ ์ญ ์ค์ฝํ (global scope)ํจ์ ๋ฐ๊นฅ/ ์ต์์์์ ์ ์ธ๋ ๋ณ์๋ก, ์ด๋์๋ ์ ๊ทผ ๊ฐ๋ฅํ๋ค.์ ์ญ ์ค์ผ ๋ฌธ์ ๋ฐ์ ๊ฐ๋ฅํ๋ค.ํจ์..
2025.08.23 -
B22 : ๋ฌธ์์ด ์ฌํ
๋ชฉ์ฐจ1. ๋ฌธ์์ด 1-1. ๋ฐ์ดํ์ ์ข ๋ฃ 1-2. ํน์ ๊ธฐํธ 1-3. length : ๋ฌธ์์ด ๊ธธ์ด 1-4. ํน์ ๊ธ์์ ์ ๊ทผํ๊ธฐ 1-5. toLowerCase(), toUpperCase() 1-6. ๋ถ๋ถ ๋ฌธ์์ด ์ฐพ๊ธฐ : str.indexOf(substr, pos), includes, startsWith, endsWith 1-7. ๋ถ๋ถ ๋ฌธ์์ด ์ถ์ถ : substring, substr, slice1. ๋ฌธ์์ด1. ๋ฐ์ดํ์ ์ข ๋ฅ๋ฌธ์์ด์ ์์๋ฐ์ดํ, ํฐ๋ฐ์ดํ, ๋ฐฑํฑ์ผ๋ก ๊ฐ์ ์ ์๋ค.์์๋ฐ์ดํ์ ํฐ๋ฐ์ดํ์ ๊ธฐ๋ฅ์ ์ฐจ์ด๋ ์๋ค. ํ์ง๋ง ๋ฐฑํฑ์ ๊ธฐ๋ฅ์ด ๋ช ๊ฐ ์๋ค.์ค๊ฐ์ ${ํํ์} : ํ ํ๋ฆฟ ๋ฆฌํฐ๋ด (template literal) ์ฝ์ ๊ฐ๋ฅ๋ฌธ์์ด์ ์ฌ๋ฌ ์ค๋ก ์์ฑ ๊ฐ๋ฅํ ํ๋ฆฟ ํจ..
2025.08.21 -
B21 : ์ซ์ํ ์ฌํ
๋ชฉ์ฐจ1. ์ซ์ํ 1-1. e๋ก 10 ๊ฑฐ๋ญ์ ๊ณฑ 1-2. 16์ง์, 2์ง์, 8์ง์ 1-3. toString(base) 1-4. ์ด๋ฆผ์ ๊ตฌํ๊ธฐ (rounding) 1-5. ๋ถ์ ํํ ๊ณ์ฐ 1-6. isNaN๊ณผ isFinite 1-7. parseInt์ parseFloat2. Math์ ๋ฉ์๋๋ค1. ์ซ์ํ1. e๋ก 10 ๊ฑฐ๋ญ์ ๊ณฑ0์ด ๋ง์ ์ซ์๋ค์ ์ ๋ ฅํ๋ ๋ฐฉ๋ฒ๋ค์ด ์๋ค.// en : 10์ n ๊ฑฐ๋ญ์ ๊ณฑalert( 1e3 === 1 * 1000 ); // truealert( 1.23e6 === 1.23 * 1000000 ); // truealert( 1e-6 === 0.000001 ); // true 2. 16์ง์, 2์ง์, 8์ง์์ ๋์ฌ 0x๋ก 16์ง์๋ฅผ, 0b๋ก 2์ง์๋ฅผ, ..
2025.08.21 -
B20 : ๋ฐฐ์ด
๋ชฉ์ฐจ1. ๋ฐฐ์ด 1-1. ๋ฐฐ์ด์ ์์ฑ 1-2. ๋ฐฐ์ด ์์์ ์ ๊ทผ 1-3. const ๋ฐฐ์ด์ ๋ณํ์ง ์์๊น?2. ๋ฐฐ์ด ๋ฉ์๋ 2-1. ๋ฐฐ์ด ๊ธธ์ด : length 2-2. ์๋ณธ ๋ฐฐ์ด ์์ : shift(), unshift(), push(), pop(), splice(), sort(), reverse() 2-3. ์๋ก์ด ๋ฐฐ์ด ์์ฑ : concat(), slice(), Spread Operator 2-4. ๋ฐฐ์ด ์์ ๋ค๋ฃจ๊ธฐ : map(), forEach(), filter() 2-5. ํน์ ๊ฐ ์ฐพ๊ธฐ : indexOf(), lastIndexOf(), includes() 2-6. ๋ฐฐ์ด ์ถ๋ ฅํ๊ธฐ : toString(arr)3. ์ ์ฌ ๋ฐฐ์ด ๊ฐ์ฒด4. for...of ๋ฐ๋ณต๋ฌธ1...
2025.08.21 -
B19 : ๋ฉํผ ๊ฐ์ฒด๋ก ์์ํ์ ๋ฉ์๋ ์ฐ๊ธฐ
๋ชฉ์ฐจ1. ์์ํ์ ๋ฉ์๋2. ๋ฉํผ(wrapper) ๊ฐ์ฒด3. ๋ฐ์ฑ vs ๊ฐ๋น์ง ์ปฌ๋ ์ 4. ์ธ๋ฐ์ฑ(Unboxing)5. ์์ ๊ฐ์ฒด๋ ์ด๋์ ์ ์ฅ๋ ๊น 1. ์์ํ์ ๋ฉ์๋๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ฉด ํจ์๋ฅผ ํ๋กํผํฐ๋ก ์ ์ฅํ์ฌ ๊ฐ์ฒด์ ๋ํด ๋ง์ ๋์์ ํํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.๊ทธ๋์ ๋ค์ํ ๋ด์ฅ ๊ฐ์ฒด๋ฅผ ์ ๊ณตํ๋๋ฐ, ์ด๋ฐ ๊ธฐ๋ฅ๋ค์ ์ฌ์ฉํ๋ฉด ์์คํ ์์์ด ๋ง์ด ์๋ชจ๋๋ค๋ ๋จ์ ์ด ์๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ์ฐฝ์์๋ ๊ฐ์ฒด์ ์ฅ์ (๋ฉ์๋)์ ์์ํ์ ์ฅ์ (๊ฐ๋ฒผ์)์ ํฉ์น๊ณ ์ถ์๊ณ ,๊ทธ๋ ๊ฒ ์๊ฐํด๋ธ ๋ฐฉ๋ฒ์ด ์์ ๊ฐ์ฒด(wrapper entity)์ด๋ค.string - Stringnumber - Numberboolean - Booleansymbol - Symbol๊ฐ ์๋ฃํ์ ๋ํ ๋ํผ ๊ฐ์ฒด๋ค์ ์ด๋ฆ์ ๊ทธ๋๋ก ์ฐจ์ฉํ๊ณ , ๊ฐ ๋ํผ ๊ฐ์ฒด๋ค์ ํ์ํ ..
2025.08.21 -
B18 : Date ๊ฐ์ฒด
๋ชฉ์ฐจ1. Date ๊ฐ์ฒด2. ๊ฐ์ฒด ์์ฑ : new Date() 2-1. new Date() 2-2. new Date(milliseconds) 2-3. new Date(datestring) 2-4. new Date(year, month, date, hours, minutes, seconds, ms)3. Date ๋ฉ์๋๋ก ๋ ์ง ๊ตฌ์ฑ ์์ ์ป๊ธฐ 3-1. get ํจ์ 3-2. ๊ตญ๊ฐ ํ๊ธฐ์ ๋ง์ถฐ ์๊ฐ ์ ๋ณด๋ฅผ ํํ4. Date ๋ฉ์๋๋ก ๋ ์ง ๊ตฌ์ฑ ์์ ์ค์ ํ๊ธฐ5. ์๋๊ณ ์นจ6. ์์ฐจ ์ธก์ ํ๊ธฐ 6-1. Date ๊ฐ์ฒด๋ฅผ ์ซ์๋ก ๋ณ๊ฒฝ 6-2. Date.now()7. ๊ฐ์ฒด์ ํ๋ณํ1. Date ๊ฐ์ฒดDate๋ ๋ ์ง ๊ด๋ จ ๋ฉ์๋๋ฅผ ์ ๊ณตํ๋ ๋ด์ฅ ๊ฐ์ฒด์ด๋ค.Date์ ์์ฑ ๋ฐ ์์ , ์๊ฐ์..
2025.08.20 -
B17 : ์ฌ๋ณผ(Symbol) ํ์
๋ชฉ์ฐจ1. ์ฌ๋ณผํ (Symbol Type)2. ์ ์ญ ์ฌ๋ณผ 2-1. Symbol.for(key) 2-2. Symbol.forKey(sym)3. ์์คํ ์ฌ๋ณผ4. ์ด๋ค ์ํฉ์์ ์ฌ์ฉํ ๊น1. ์ฌ๋ณผํ (Symbol Type)์ฌ๋ณผ์ ์ ์ผํ ์๋ณ์(unique identifier)๋ฅผ ๋ง๋ค๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค.// id๋ ์ฌ๋ณผlet id = Symbol();// ์ฌ๋ณผ id์๋ "id"๋ผ๋ ์ค๋ช ์ด ๋ถ์let id = Symbol("id");// ์ฌ๋ณผ์ ์ ์ผ์ฑ์ด ๋ณด์ฅ๋๊ธฐ ๋๋ฌธ์ ์ค๋ช ์ด ๋์ผํด๋ ๊ฐ ์ฌ๋ณผ๊ฐ์ ๋ค๋ฅด๋คlet id1 = Symbol("id");let id2 = Symbol("id");alert(id1 == id2); // false ๊ฐ์ block-scope ๋ด์์ ๊ฐ์ ์ด๋ฆ์ ์ฌ๋ณผ์ ์ฌ์ฉํ ์ ์๋ค. ..
2025.08.20
GitHub