๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“‚ Language12

JavaScript ๋‚ด์žฅ ํ•จ์ˆ˜์˜ ์„ธ๊ณ„ - apply 1. ๊ถ๊ธˆ์ฆ์„ ๊ฐ€์ง„ ๊ณ„๊ธฐ function solution(s) { const numbers = s.split(' ').map(Number); const min = Math.min(...numbers); const max = Math.max(...numbers); return `${min} ${max}`; } ์œ„์˜ ์ตœ์†Ÿ๊ฐ’๊ณผ ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์—์„œ spread syntax๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  Math.min( )๊ณผ Math.max( )๋ฅผ ์ ์šฉํ•˜๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด ์žˆ์„์ง€ ์ฐพ์•„๋ณด๋‹ค๊ฐ€ apply ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌ. 2. apply ๋ฉ”์„œ๋“œ๋ž€? apply( )๋Š” ํ˜ธ์ถœํ•  ํ•จ์ˆ˜์˜ ์ธ์ˆ˜๋ฅผ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋ฌถ์–ด ์ „๋‹ฌํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ์— ์ฃผ์–ด์ง„ this ๊ฐ’๊ณผ ๋ฐฐ์—ด ํ˜•ํƒœ์˜ ์ธ์ž๋ฅผ ํ•จ์ˆ˜์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ .. 2024. 1. 15.
์ดˆ๋“ฑํ•™์ƒ๋„ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ '๋‹จ์ถ•ํ‰๊ฐ€' ๋ณธ๊ฒฉ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๋ฉฐ ์Šค์Šค๋กœ ์ดํ•ดํ•˜๊ธฐ ๐Ÿ“ ๐Ÿ‘ฉ๐Ÿป‍๐Ÿซ ๋‹จ์ถ• ํ‰๊ฐ€๋ž€ ๋ฌด์—‡์ผ๊นŒ์š”? ํ•œ ๋งˆ๋””๋กœ ๋งํ•˜์ž๋ฉด, ๋‹จ์ถ• ํ‰๊ฐ€๋Š” ๋‘ ๊ฐ€์ง€ ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜๋งŒ ์ถฉ์กฑ๋˜๋ฉด ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”๋กœ ๋‚ด๋†“๋Š” ๊ฒƒ์ด๋ž๋‹ˆ๋‹ค. ์•„์ง ์ด ๊ฐœ๋…์ด ์ž˜ ์™€๋‹ฟ์ง€ ์•Š์„ ํ…Œ๋‹ˆ ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ์„ค๋ช…ํ•ด ๋ณผ๊ฒŒ์š”. && : ์ดˆ์ฝœ๋ฆฟ ๋จน๊ธฐ ๐Ÿซ ์—ฌ๋Ÿฌ๋ถ„์ด ์ดˆ์ฝœ๋ฆฟ์ด ๋จน๊ณ ์‹ถ์–ด์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ€๊ฒŒ์— ๋ฐฉ๋ฌธํ–ˆ์–ด์š”. ๊ฐ€๊ฒŒ์—๋Š” 'ํ‚ท์บฃ', 'ํ‚จ๋”', 'ํ•˜๋ฆฌ๋ณด' ์„ธ ๊ฐ€์ง€ ์ƒํ’ˆ์ด ๋ณด์—ฌ์š”. ์ฒซ ๋ฒˆ์งธ๋กœ ํ•˜๋ฆฌ๋ณด๋ฅผ ์ง‘์—ˆ๋Š”๋ฐ ๋ฐ”๊ตฌ๋‹ˆ๊ฐ€ ์ด๋ ‡๊ฒŒ ๋งํ•ด์š”. ๐Ÿ›๏ธ: "์‚๋น…, false ์ž…๋‹ˆ๋‹ค! ๋‹ค์‹œ ๋‹ด์•„์ฃผ์„ธ์š”." let ํ•˜๋ฆฌ๋ณด = false; let ํ‚จ๋” = true; ํ•˜๋ฆฌ๋ณด && ํ‚จ๋” // false ์™œ์ผ๊นŒ์š”? ๋ฐ”๋กœ ํ•˜๋ฆฌ๋ณด๋Š” ์ดˆ์ฝœ๋ฆฟ(true)์ด ์•„๋‹Œ ์ ค๋ฆฌ(false)๊ธฐ ๋•Œ๋ฌธ์ด์—์š”. ๋ฐ”๊ตฌ๋‹ˆ๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ fal.. 2023. 9. 24.
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ symbol์€ ์–ธ์ œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ? ์˜๋ฌธ์ด ๋“  ์ด์œ  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ symbol์€ ECMAScript6(2015)์— ๋„์ž…๋œ 7๋ฒˆ์งธ ํƒ€์ž…์ด๋ผ๊ณ  ๋“ค์–ด๋Š” ๋ดค์ง€๋งŒ, ๊ทธ๋‹ค์ง€ ๊นŠ๊ฒŒ ํŒŒ๋ณธ์ ์ด ์—†์—ˆ๋˜ ๊ฒƒ ๊ฐ™์•„์„œ ๊นŠ๊ฒŒ ๊ณต๋ถ€ํ•˜๋Š” ์ค‘์ด๋‹ค. ์ƒ๊ฐํ•ด ๋ณด๋‹ˆ (๋ชฐ๋ผ์„œ ๊ทธ๋žฌ์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ) ์ฝ”๋”ฉ์„ ํ•  ๋•Œ๋„ ์ ๊ทน์ ์œผ๋กœ ์‚ฌ์šฉํ• ๋งŒํ•œ ์ƒํ™ฉ์ด ์—†๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ํ•˜์ง€๋งŒ ์•Œ์•„๋‘๋ฉด ๋‚˜์ค‘์— ๋‹ค ์“ธ ๋ฐ๊ฐ€ ์žˆ์„ ํ…Œ๋‹ˆ ์–ธ์ œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์€์ง€, ์‚ฌ์šฉํ–ˆ์„ ๋•Œ์˜ ์žฅ์ ๋„ ํ•œ๋ฒˆ ์ •๋ฆฌํ•ด ๋ณด์ž. ์ผ๋‹จ, symbol์ด๋ž€? ์ฑ… ์— ๋”ฐ๋ฅด๋ฉด, symbol์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ์‹ฌ๋ณผ(symbol)์€ ES6์—์„œ ๋„์ž…๋œ 7๋ฒˆ์งธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ, ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ์›์‹œ ํƒ€์ž…์˜ ๊ฐ’์ด๋‹ค. ์‹ฌ๋ณผ ๊ฐ’์€ ๋‹ค๋ฅธ ๊ฐ’๊ณผ ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ์œ ์ผ๋ฌด์ดํ•œ ๊ฐ’์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ฃผ๋กœ ์ด๋ฆ„์˜ ์ถฉ๋Œ ์œ„ํ—˜์ด ์—†๋Š” ์œ ์ผํ•œ ํ”„๋กœํผํ‹ฐ ํ‚ค๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.. 2023. 9. 19.
์™œ ๊ณ ์ฐจํ•จ์ˆ˜์—์„œ๋Š” ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ˜๋ณต๋ฌธ์„ ์ œ๊ฑฐํ• ๊นŒ? ์˜๋ฌธ์ด ๋“  ์ด์œ  ๊ณ ์ฐจํ•จ์ˆ˜ ๋ถ€๋ถ„์„ ๋‹ค์‹œ ๊ณต๋ถ€ํ•˜๋‹ค๊ฐ€, ์•„๋ž˜ ๋„ค ๊ฐ€์ง€ ๋‹จ์–ด๋“ค๊ณผ ๊ด€๊ณ„์„ฑ์— ๋Œ€ํ•œ ์˜๋ฌธ์ด ๋“ค์—ˆ๋‹ค. '๊ณ ์ฐจํ•จ์ˆ˜' 'ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ' '์ˆœ์ˆ˜ํ•จ์ˆ˜' '๋ถˆ๋ณ€์„ฑ' ์™œ ๋ฐฐ์—ด์˜ ๊ณ ์ฐจํ•จ์ˆ˜์—์„œ ์กฐ๊ฑด๋ฌธ ๋ฐ˜๋ณต๋ฌธ์„ ์“ฐ๋ฉด ์ข‹์ง€ ์•Š์€ ๊ฒƒ์ผ๊นŒ? ์‚ฌ์‹ค ์•„์ง๊นŒ์ง€๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€๋“  ์ฝ”๋”ฉ์„ ํ•˜๋“  ๋ฌด์˜์‹์ ์œผ๋กœ ๋ฐฐ์—ด์˜ ๋ฉ”์„œ๋“œ๋“ค๋ณด๋‹ค ์†์— ๋” ์ต์€ ์กฐ๊ฑด๋ฌธ ๋ฐ˜๋ณต๋ฌธ์„ ์“ฐ๊ณ  ์žˆ๋Š”๋ฐ, ๊ทธ๊ฒŒ ์ข‹์ง€ ์•Š๋‹ค๊ณ  ํ•˜๋‹ˆ ์˜๋ฌธ์ด ๋“ค์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๋”๋ถˆ์–ด, ์•„์ง ์ฝ”๋“œ ์ƒ์—์„œ ์œ„์˜ ์˜๋ฌธ์— ๋Œ€ํ•œ ํ•ด๋‹ต์„ ์ œ๋Œ€๋กœ ๋Š๊ปด๋ณด์ง€ ์•Š์•„์„œ์ด๊ธฐ๋„ ํ–ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์•Œ๋ ค์ง„ ๋ฐ”๋กœ๋Š” ํ•จ์ˆ˜๋Š” ์ตœ๋Œ€ํ•œ ๊ฐ„๊ฒฐํ•˜๊ณ  ์ง๊ด€์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ด์•ผ ํ•œ๋‹ค๊ณ  ์•Œ๊ณ  ์žˆ๋‹ค. ์กฐ๊ฑด๋ฌธ ๋ฐ˜๋ณต๋ฌธ์„ ๋‚จ๋ฐœํ•˜๋ฉด ๊ฐ€๋…์„ฑ์ด ์ข‹์ง€ ์•Š๊ณ , ๋‹ค๋ฅธ ์ธต์˜ ์Šค์ฝ”ํ”„ ๋ธ”๋ก์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ์ฝ”๋“œ ์ž‘์„ฑ ์‹œ ์‹ค์ˆ˜ํ•  ํ™•๋ฅ ๋„ ๋†’์•„์ง€๋ฏ€๋กœ ์‚ฌ์ด๋“œ ์ด.. 2023. 9. 17.
์•Œ์•„๋‘๋ฉด ์žฌ๋ฏธ์žˆ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์—ญ์‚ฌ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์—ญ์‚ฌ๋ฅผ ์™œ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๊นŒ ์ƒˆ๋กœ์šด ์–ธ์–ด๋ฅผ ๋ฐฐ์šธ ๋•Œ ๋ฐ”๋กœ ๋ฌธ๋ฒ• ๊ณต๋ถ€์— ์ „๋…ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๊ทธ ์–ธ์–ด์˜ ํƒ„์ƒ ๋ฐฐ๊ฒฝ์— ๋Œ€ํ•ด ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ํ•œ๋‹ค. ๊ณผ๊ฑฐ๋ฅผ ์•Œ์•„์•ผ ํ˜„์žฌ๊ฐ€ ๋ณด์ด๊ณ , ๋ฏธ๋ž˜๋ฅผ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•˜์ง€ ์•Š๋‚˜. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ํƒ„์ƒํ–ˆ์œผ๋ฉฐ ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ๊ณ , ์ด ์–ธ์–ด๋ฅผ ๋‹ค๋ฃฐ์ค„ ์•Œ๋ฉด ์–ด๋–ค ๋ถ„์•ผ์— ๋” ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด ์•„๋‹๊นŒ ์‹ถ๋‹ค. ๋ฌธ๋ฒ• ๊ณต๋ถ€๋ณด๋‹ค๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ์•Œ์•„๋‘๋ฉด ์žฌ๋ฏธ์žˆ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์—ญ์‚ฌ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด์ž. ํƒœ์ดˆ์— ๋ชจ์ž์ดํฌ๋ผ๋Š” ๊ฒŒ ์žˆ์—ˆ๋‹จ๋‹ค 1993๋…„, ์ง‘์ง‘๋งˆ๋‹ค ์ปดํ“จํ„ฐ๊ฐ€ ์—†์—ˆ๋˜ ๊ทธ ์‹œ์ ˆ์—๋Š” ์ปดํ“จํ„ฐ๋ฅผ ์ž˜ ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ๋“ค๋„ ์‰ฝ๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋Š” UI ์š”์†Œ๊ฐ€ ๋”ํ•ด์ง„ MOSAIC ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์‹œ์žฅ์— ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค. ์ด MOSAIC.. 2023. 9. 10.
์™œ ES6๋ถ€ํ„ฐ ํด๋ž˜์Šค ๊ฐœ๋…์ด ์ถ”๊ฐ€๋œ๊ฑธ๊นŒ? ์งˆ๋ฌธ์˜ ๋ฐฐ๊ฒฝ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ECMAScript์˜ ํžˆ์Šคํ† ๋ฆฌ์™€ ํด๋ž˜์Šค ๊ฐœ๋…์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋‹ค๊ฐ€ ๋ฌธ๋“, ES5์—์„œ๋„ ์ƒ์„ฑ์ž ํ•จ์ˆ˜์™€ ํ”„๋กœํ† ํƒ€์ž…์„ ํ†ตํ•ด ์ถฉ๋ถ„ํžˆ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์˜ ์ƒ์†์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์™œ ํด๋ž˜์Šค ๊ฐœ๋…์„ ์ถ”๊ฐ€ํ–ˆ์„๊นŒ ๊ถ๊ธˆ์ฆ์ด ์ƒ๊ฒผ๋‹ค. ๊ถ๊ธˆ์ฆ์— ๋Œ€ํ•œ ํ•ด๋‹ต์„ [๋ฌธ์ œ ์ •์˜ - ํ•ด๊ฒฐ]์˜ ํ‹€๋กœ ์‚ดํŽด๋ณด์ž. ๋ฌธ์ œ ์ •์˜: ์ถ”๊ฐ€๋˜๊ธฐ ์ „์˜ ์ƒํ™ฉ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํด๋ž˜์Šค ๊ฐœ๋…์ด ES6(2015)์—์„œ ์ถ”๊ฐ€๋œ ์ด์œ ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. 1. ์“ฐ๋Š” ์‚ฌ๋žŒ์ด ์–ด๋ ต๋‹ค๋Š”๋ฐ ์–ด๋–กํ•ด ES5๊นŒ์ง€๋Š” ํด๋ž˜์Šค ์—†์ด๋„ ์ƒ์„ฑ์ž ํ•จ์ˆ˜์™€ ํ”„๋กœํ† ํƒ€์ž…์„ ํ†ตํ•ด ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์˜ ์ƒ์†์„ ๊ตฌํ˜„ํ•  ์ˆ˜๋Š” ์žˆ์—ˆ์œผ๋‚˜, ๊ธฐ์กด ์ž๋ฐ”๋‚˜ C+๊ณผ ๊ฐ™์ด ํด๋ž˜์Šค ๊ธฐ๋ฐ˜์˜ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ต์ˆ™ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์—๊ฒŒ๋Š” ํ˜ผ๋ž€์„ ์ฃผ์—ˆ๋‹ค. ์ด๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์–ด๋ ต๊ฒŒ ๋Š๋ผ๊ฒŒ ํ•˜๋Š” ์žฅ๋ฒฝ๊ณผ๋„ ๊ฐ™์•˜๋‹ค. 2... 2023. 9. 7.
์ด๋ฒคํŠธ ๋ฃจํ”„(Event Loop)์˜ ๋™์ž‘ ์›๋ฆฌ 0. ์‹œ์ž‘ํ•˜๋ฉฐ, ์ด๋ฒคํŠธ ๋ฃจํ”„๋Š” ๋“ค์–ด๋ดค์ง€๋งŒ, ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์˜ˆ์‹œ ์ฝ”๋“œ์™€ ๊ทธ๋ฆผ์„ ํ†ตํ•ด ์›๋ฆฌ๋ฅผ ์ƒ…์ƒ…์ด ํŒŒํ—ค์ณ๋ณด์ž. 1. ๋น„๋™๊ธฐ ์ฝ”๋“œ ์˜ˆ์‹œ ๋จผ์ €, ์•„๋ž˜์˜ ์˜ˆ์‹œ ์ฝ”๋“œ๋ฅผ ๋ณด์ž. console.log('์ž˜ ๋“ค์–ด๊ฐ”์–ด?'); setTimeout(function() { console.log('๋˜‘๋˜‘'); }, 1000); console.log('๋“ค์–ด๊ฐ„๊ฑฐ ๋งž์•„?'); ์ค‘๊ฐ„์— ์žˆ๋Š” setTimeout์€ ๋‘ ๋ฒˆ์งธ ์ธ์ž๋กœ ๋“ค์–ด๊ฐ„ ์‹œ๊ฐ„(๋‹จ์œ„: ms)๋งŒํผ ๊ธฐ๋‹ค๋ฆฐ ํ›„์—, ์ฒซ ๋ฒˆ์งธ ์ธ์ž๋กœ ๋“ค์–ด๊ฐ„ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰์‹œํ‚ค๋Š” ๋ฉ”์†Œ๋“œ๋‹ค. ์ด์™€ ๊ฐ™์ด ํŠน์ • ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ๋“ค์–ด๊ฐ€๋Š” ํ•จ์ˆ˜๋ฅผ '์ฝœ๋ฐฑ ํ•จ์ˆ˜'๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. 2. ์ฝœ๋ฐฑํ•จ์ˆ˜ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋Š” ๋‹ค๋ฅธ ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ์ „๋‹ฌ๋˜๊ณ , ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ๊ฐ์‹ธ๊ณ  ์žˆ๋Š” ์ˆ˜์‹ ํ•จ์ˆ˜์— ์˜ํ•ด ํŠน์ • ์‹œ.. 2023. 9. 2.
JavaScript ์›์‹œ ์ž๋ฃŒํ˜•๊ณผ ์ฐธ์กฐ ์ž๋ฃŒํ˜•์— ๋Œ€ํ•ด ์‰ฝ๊ฒŒ ์ดํ•ดํ•ด ๋ณด์ž. 1. ์›์‹œ ์ž๋ฃŒํ˜•๊ณผ ์ฐธ์กฐ ์ž๋ฃŒํ˜•์ด๋ž€? number, string, boolean, undefined, null๊ณผ ๊ฐ™์€ ์ž๋ฃŒํ˜•์€ ๊ณ ์ •๋œ ์ €์žฅ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•œ๋‹ค. ์ด๋Ÿฐ ํŠน์ง•์„ ๊ฐ€์ง„ ์ž๋ฃŒํ˜•์„ ์›์‹œ ์ž๋ฃŒํ˜•(primitive data type)์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ถ„๋ฅ˜ํ•œ๋‹ค. ๋ฐ˜๋ฉด์— ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ธฐ์— ์ ํ•ฉํ•œ ๋ฐฐ์—ด๊ณผ ๊ฐ์ฒด, ํ•จ์ˆ˜ ๋“ฑ์˜ ์ž๋ฃŒํ˜•์€ ์ฐธ์กฐ ์ž๋ฃŒํ˜•(reference data type)์ด๋ผ๊ณ  ๋ถ„๋ฅ˜ํ•œ๋‹ค. ์›์‹œ ํƒ€์ž… ๋ฐ์ดํ„ฐ๋Š” ๊ฐ ๋ณ€์ˆ˜๊ฐ„์˜ ์›์‹œํƒ€์ž… ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•  ๊ฒฝ์šฐ, ๋ฐ์ดํ„ฐ ๊ฐ’์ด ๋ณต์‚ฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ์— ์˜ํ–ฅ์ด ๊ฐ€์ง€ ์•Š์Œ. ์ฐธ์กฐ ํƒ€์ž… ๋ฐ์ดํ„ฐ๋Š” ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ•œ๋‹ค. ๋•Œ๋ฌธ์— ๋ณต์‚ฌํ•œ ๋ฐ์ดํ„ฐ์—์„œ ์›์†Œ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ์ฃผ์†Œ ์•ˆ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ์ด ๋˜๋Š” ๊ฒƒ์ด๊ธฐ์— ๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ์—๋„ ์˜ํ–ฅ์ด ๊ฐ€๋Š” ๊ฒƒ์ด๋‹ค. ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜์ž.. 2023. 3. 2.
JavaScript ๊ฐ์ฒด ๊ธฐ์ดˆ ๊ฐœ๋… - ๊ตฌ๋ถ„, ์กฐํšŒ, ๊ฐ์ฒด ๋‹ค๋ฃจ๊ธฐ 1. ๊ฐ์ฒด๋ž€? ์ž, ๋ฐฐ์—ด์„ ๋ฐฐ์› ๋‹ค๋ฉด ์ด์ œ ๊ฐ์ฒด๋ฅผ ๋ฐฐ์šธ ์‹œ๊ฐ„์ด๋‹ค. ๋น„์œ ํ•˜์ž๋ฉด, JavaScript์—์„œ์˜ ๊ฐ์ฒด๋Š” ๊ฒŒ์ž„ ์บ๋ฆญํ„ฐ์™€ ๋น„์Šทํ•˜๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์šฉ์ž๋“ค์˜ ์บ๋ฆญํ„ฐ๋Š” ๋™์ผํ•˜๊ฒŒ ์ง์—…๊ณผ ๋Šฅ๋ ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ, ๊ฐ๊ฐ ์„ธ๋ถ€์ ์ธ ๋‚ด์šฉ์€ ๋‹ค๋ฅด๋‹ค. ๋ˆ„๊ตฐ๊ฐ€๋Š” Ella๋ผ๋Š” ID์™€ ๋งˆ๋ฒ•์‚ฌ๋ผ๋Š” ์ง์—…์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ, ๋‹ค๋ฅธ ๋ˆ„๊ตฐ๊ฐ€๋Š” Chloe๋ผ๋Š” ID์™€ ์ „์‚ฌ๋ผ๋Š” ์ง์—…์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ์›น์‚ฌ์ดํŠธ์— ๊ฐ€์ž…ํ•  ๋•Œ ์ž…๋ ฅํ•  ํ•ญ๋ชฉ์€ ๋ชจ๋‘ ๊ฐ™์ง€๋งŒ, ์ž…๋ ฅํ•˜๋Š” ์ •๋ณด๋Š” ์‚ฌ์šฉ์ž๋งˆ๋‹ค ๋‹ค๋ฅด๋‹ค. ์ด๋ ‡๊ฒŒ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ž…๋ ฅํ•ด์•ผ ํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ข…๋ฅ˜๊ฐ€ ๋™์ผํ•œ ๊ฒฝ์šฐ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์†์‰ฝ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๋“ฏ, ๊ณตํ†ต์ ์ธ ์†์„ฑ์„ ๊ฐ€์ง€๋Š” ๊ฒฝ์šฐ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์›น์‚ฌ์ดํŠธ์— ๊ฐ€์ž…ํ•œ ํšŒ์› ์ฃผ์†Œ๋ก์„ ๋งŒ๋“ ๋‹ค๊ณ  ๊ฐ€์ •.. 2023. 3. 1.
JavaScript ๋ฐฐ์—ด ๊ธฐ์ดˆ ๊ฐœ๋… - ์ธ๋ฑ์Šค, ๋ฐ˜๋ณต, ๋ฉ”์†Œ๋“œ 1. ๋ฐฐ์—ด์ด๋ž€? ์ˆœ์„œ(index)๊ฐ€ ์žˆ๋Š” ๊ฐ’(element)์˜ ์ง‘ํ•ฉ์ด๋‹ค. ์ด๋•Œ, ์ˆœ์„œ๋Š” 1์ด ์•„๋‹ˆ๋ผ 0๋ถ€ํ„ฐ ๋ฒˆํ˜ธ๋ฅผ ๋งค๊ธฐ๋ฉฐ, ๋Œ€๊ด„ํ˜ธ [ ] ๋ฅผ ์ด์šฉํ•ด ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ , ๊ฐ๊ฐ์˜ ์›์†Œ(element)๋Š” ์‰ผํ‘œ(,)๋กœ ๊ตฌ๋ถ„ํ•ด ์ค€๋‹ค. a. ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค ๊ฐ’ ๊ตฌํ•˜๊ธฐ let myNumber = [73, 98, 86, 61, 96]; // myNumber ๋ผ๋Š” ๋ฐฐ์—ด์˜ 3๋ฒˆ์งธ ์ธ๋ฑ์Šค ๊ฐ’์€? myNumber[3]; // 61 let myNumber = [73, 98, 86, 61, 96]; // myNumber ๋ผ๋Š” ๋ฐฐ์—ด์˜ 5๋ฒˆ์งธ ์ธ๋ฑ์Šค ๊ฐ’์€? myNumber[5]; // undefined : ์ด ๋ฐฐ์—ด์€ 4๋ฒˆ์งธ ์ธ๋ฑ์Šค ๊ฐ’ ๊นŒ์ง€ ๋ฐ–์— ์—†๋‹ค. b. ๋ฐฐ์—ด ์•ˆ์— ์žˆ๋Š” ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค ๊ฐ’ ๊ตฌํ•˜๊ธฐ let myNumber = [[13, 3.. 2023. 2. 27.
JavaScript ์กฐ๊ฑด๋ฌธ์„ ํ™œ์šฉํ•ด ํ™€์ˆ˜์™€ ์ง์ˆ˜ ์ถœ๋ ฅ, ํŒ๋ณ„ํ•˜๊ธฐ (%๋กœ ๋‚˜๋จธ์ง€๊ฐ’ ๋ณด๊ธฐ) ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ํ™€์ˆ˜ ํ˜น์€ ์ง์ˆ˜๋งŒ ์ถœ๋ ฅํ•˜๊ณ  ํŒ๋ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž. 1. ์กฐ๊ฑด๋ฌธ์„ ํ™œ์šฉํ•ด 1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ์ˆซ์ž ์ค‘, ํ™€์ˆ˜๋งŒ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ for (let i = 1; i 2023. 2. 26.
JavaScript์˜ hoisting (ํ˜ธ์ด์ŠคํŒ…) ์ด๋ž€? - let๊ณผ var์˜ ์ฐจ์ด, let๊ณผ const ํ˜ธ์ด์ŠคํŒ… *hoisting: ๋Œ์–ด ์˜ฌ๋ฆฌ๊ธฐ hoist์˜ ์‚ฌ์ „์  ์˜๋ฏธ๋Š” '๋Œ์–ด ์˜ฌ๋ฆฌ๊ธฐ' ๋ผ๋Š” ๋œป์ด๋‹ค. ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ ์ฝ”๋“œ๋ณด๋‹ค, ์„ ์–ธ ์ฝ”๋“œ๊ฐ€ ์•„๋žซ์ชฝ์— ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ , ๋งˆ์น˜ ์„ ์–ธ ์ฝ”๋“œ๊ฐ€ ํ˜ธ์ถœ ์ฝ”๋“œ๋ณด๋‹ค ๋” ์œ„์— ์„ ์–ธ๋œ ๊ฒƒ๊ณผ ๊ฐ™์ด ๋™์ž‘ํ•˜๋Š” ํŠน์„ฑ์„ hoisting(ํ˜ธ์ด์ŠคํŒ…) ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ์ด ๋ง์„ ์ดํ•ดํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์ž˜ ์•ˆ ๋  ๊ฒƒ์ด๋‹ค. ์šฐ์„  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘, let๊ณผ var์˜ ์ฐจ์ด์ ๋ถ€ํ„ฐ ์งš๊ณ  ๋„˜์–ด๊ฐ€์•ผ ํ˜ธ์ด์ŠคํŒ…์˜ ๊ฐœ๋…์„ ๋” ์ •ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. let๊ณผ var์˜ ์ฐจ์ด: ํƒœ์ดˆ์— var๋Š” ๋ฌธ์ œ๊ฐ€ ๋งŽ์•˜๋‹ค.. ์˜›๋‚  ์˜›์ ์—๋Š” ์ง€๊ธˆ์˜ ์šฐ๋ฆฌ๊ฐ€ ๋„๋ฆฌ ์“ฐ๊ณ  ์žˆ๋Š” let์ด ์•„๋‹Œ, var๋งŒ ์‚ฌ์šฉํ–ˆ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ECMA-262 ๊ธฐ์ˆ  ๊ทœ๊ฒฉ์— ๋”ฐ๋ผ ์ •์˜ํ•˜๊ณ  ์žˆ๋Š” ํ‘œ์ค€ํ™”๋œ ์Šคํฌ๋ฆฝํŠธ .. 2023. 2. 26.