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

๐Ÿ“ฐ ์–ธ์–ด

(31)
์ •๊ทœ ํ‘œํ˜„์‹ ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ 1. ์ •๊ทœ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ? 2. ์ •๊ทœ ํ‘œํ˜„์‹ ๋งŒ๋“ค๊ธฐ 3. ์ •๊ทœ์‹ ํŒจํ„ด 3-1) ํŒจํ„ด ์ž‘์„ฑํ•˜๊ธฐ ์ •๊ทœ์‹ ํ‘œํ˜„์‹(๋”๋ณด๊ธฐ ํด๋ฆญ! : ํŠน์ˆ˜ ๋ฌธ์ž ์‚ฌ์šฉ ์˜ˆ์‹œ) ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํŠน์ˆ˜ ๋ฌธ์ž(๋”๋ณด๊ธฐ ํด๋ฆญ! : ๊ธฐํƒ€ ํŠน์ˆ˜ ๋ฌธ์ž) 4. ๊ทธ๋ฃน 4-1) ๊ทธ๋ฃนํ™” 4-2) ์บก์ฒ˜(capturing) ์ •๊ทœํ‘œํ˜„์‹ ํ…Œ์ŠคํŠธ ์‚ฌ์ดํŠธ ๋‚ด์šฉ์„ ์ดํ•ดํ•˜๋ฉด์„œ ์‹ค์ œ๋กœ ์ ์šฉํ•ด ๋ณด๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ์‚ฌ์ดํŠธ๋“ค์„ ์ด์šฉํ•˜์—ฌ ์ •๊ทœ์‹์„ ํ…Œ์ŠคํŠธํ•ด ๋ด…์‹œ๋‹ค. ๋‹จ, ๊ฐ ์‚ฌ์ดํŠธ์˜ ์„ค์ •๋œ ํ™˜๊ฒฝ์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ถ€ ์ž‘๋™ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋‹ค๋ฃจ๋Š” ์ •๊ทœ์‹๊ณผ ๋‹ค๋ฅด๊ฒŒ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์‚ฌ์ดํŠธ์—์„œ ํ…Œ์ŠคํŠธํ•œ ์ •๊ทœ์‹์˜ ๊ฒฐ๊ณผ๋ฅผ ๋งน์‹ ํ•˜์ง€ ๋ง๊ณ  ์ž์‹ ์˜ ํ™˜๊ฒฝ์— ๋งž๋Š”์ง€ ๊ผญ ํ…Œ์ŠคํŠธํ•˜์„ธ์š”. https://regex101.c..
๋น„๋™๊ธฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ(1) - ๋™๊ธฐvs๋น„๋™๊ธฐ, ์ฝœ๋ฐฑ ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ 1. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋น„๋™๊ธฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ 2. ์ฝœ๋ฐฑ 2-1) ์Šค์ฝ”ํ”„์™€ ๋น„๋™๊ธฐ์  ์‹คํ–‰ 2-2) ์˜ค๋ฅ˜ ์šฐ์„  ์ฝœ๋ฐฑ 2-3) ์ฝœ๋ฐฑ ํ—ฌ ๋™๊ธฐ์‹ ์ฒ˜๋ฆฌ ๋ชจ๋ธ(Synchronous processing model)์€ ์ง๋ ฌ์ ์œผ๋กœ ํƒœ์Šคํฌ(task)๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ฆ‰, ํƒœ์Šคํฌ๋Š” ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋˜๋ฉฐ ์–ด๋–ค ์ž‘์—…์ด ์ˆ˜ํ–‰ ์ค‘์ด๋ฉด ๋‹ค์Œ ์ž‘์—…์€ ๋Œ€๊ธฐํ•˜๊ฒŒ ๋œ๋‹ค. ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ์‘๋‹ต๋  ๋•Œ๊นŒ์ง€ ์ดํ›„ ํƒœ์Šคํฌ๋“ค์€ ๋ธ”๋กœํ‚น(blocking, ์ž‘์—… ์ค‘๋‹จ)๋œ๋‹ค. #๋™๊ธฐ์‹์œผ๋กœ ๋™์ž‘ - ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋จ. function func1() { console.log('func1'); func2(); } function func2() { console.log('func2'); func3(); }..
ES6์˜ ์‹ฌ๋ณผ, ์ดํ„ฐ๋ ˆ์ดํ„ฐ์™€ ์ œ๋„ค๋ ˆ์ดํ„ฐ ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ 1. Symbol 2. ์‹ฌ๋ณผ์˜ ์ƒ์„ฑ 2-1) ๋Œ€ํ‘œ์ ์ธ ์ƒ์šฉ์‹ฌ๋ณผ 1. ์ดํ„ฐ๋ ˆ์ดํ„ฐ(Iteratoe) 1-1) ์ดํ„ฐ๋ ˆ์ด์…˜ ํ”„๋กœํ† ์ฝœ 2. ์ œ๋„ˆ๋ ˆ์ดํ„ฐ(generator) 1. Symbol ES6์—์„œ ์ƒˆ๋กœ ์„ ๋ณด์ธ ์›์‹œ ํƒ€์ž…์ด๋‹ค. typeof Symbol(); // 'symbol' ๊ฐ์ฒด์— Uniqueํ•œ ์†์„ฑ์„ ๋งŒ๋“ค์–ด ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€์˜ ์ถฉ๋Œ์„ ๋ง‰๊ธฐ ์œ„ํ•ด Symbol์ด ํ•„์š”ํ•˜๋‹ค. ์›๋ž˜ ๊ฐ์ฒด์˜ ์†์„ฑ ์ด๋ฆ„์€ ๋ฌธ์ž์—ด๋กœ ํ‘œํ˜„ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ Array ๊ฐ™์ด ๋ฒ”์šฉ์ ์œผ๋กœ ์“ฐ์ด๋Š” ํƒ€์ž…์„ ํ™•์žฅํ–ˆ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, ๋‚ด๊ฐ€ ํ™•์žฅํ•œ ๊ฒƒ๊ณผ ๊ฐ™์€ ์ด๋ฆ„์œผ๋กœ ํ™•์žฅํ–ˆ๋‹ค๋ฉด? ์‹ฌ๋ณผ์€ Uniqueํ•˜๊ธฐ ๋•Œ๋ฌธ์—, description์ด ๊ฐ™์•„๋„ ์ถฉ๋Œํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋‚ด๊ฐ€ Array์˜ ์†์„ฑ์˜ ๊ฐฏ..
map๊ณผ set ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ 1. Map 1-1) Map vs Object 2. WeakMap 2-2) WeakMap vs Map 3. Set 1. Map Map ๊ฐ์ฒด๋Š” ์š”์†Œ์˜ ์‚ฝ์ž… ์ˆœ์„œ๋Œ€๋กœ ์›์†Œ๋ฅผ ์ˆœํšŒํ•œ๋‹ค. for...of ๋ฐ˜๋ณต๋ฌธ์€ ๊ฐ ์ˆœํšŒ์—์„œ [key, value]๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. const u1 = {name : 'jackson'} const u2 = {name : 'olive'} //๋งต ์ƒ์„ฑ const userRoles = new Map(); //๋งต์˜ set() ์‚ฌ์šฉํ•ด ์‚ฌ์šฉ์ž ์—ญํ•  ํ• ๋‹น ###### userRoles.set(u1, 'User') userRoles.set(u2, 'Admin') ###๋˜๋Š”### userRoles .set(u1, 'User') .se..
๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP) ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ 1. ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์šฉ์–ด 2. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์–ธ์–ด์  ํŠน์ง• 1. ๊ฐ์ฒด ์ƒ์„ฑ 2. ํด๋ž˜์Šค(ES5 vs ES6) ์ƒ์„ฑ 3. ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ 4. construnctor(์ƒ์„ฑ์ž) 5. ํ”„๋กœํ† ํƒ€์ž… ์ฒด์ธ๊ณผ ๋ฉ”์†Œ๋“œ ์ •์˜ 6. ์ƒ์† - ์˜์‚ฌ ํด๋ž˜์Šค ํŒจํ„ด ์ƒ์†, ํ”„๋กœํ† ํƒ€์ž… ํŒจํ„ด ์ƒ์† 7. ์บก์Аํ™”, ์ถ”์ƒํ™”, ๋‹คํ˜•์„ฑ 1. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์–ธ์–ด์  ํŠน์ง• ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋ฉ€ํ‹ฐ-ํŒจ๋Ÿฌ๋‹ค์ž„ ์–ธ์–ด๋กœ ๋ช…๋ นํ˜•(imperative), ํ•จ์ˆ˜ํ˜•(functional), ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜(prototype-based) ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์ด๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ด๋ฏธ ์ƒ์„ฑ๋œ ์ธ์Šคํ„ด์Šค์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ๊ธฐ๋Šฅ์„ ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ์ƒ์†, ์บก์Аํ™”(์ •๋ณด ์€๋‹‰) ๋“ฑ์˜ ๊ฐœ๋…์€ ํ”„๋กœํ† ํƒ€์ž… ์ฒด์ธ..
๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด - ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜ ์–ธ์–ด(JS) ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ ์–ธ์–ด vs ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜ ์–ธ์–ด(JS) 1. property 2. ํ”„๋กœํ† ํƒ€์ž… (๊ฐœ๋… ์„ค๋ช…) 3. ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜ ์–ธ์–ด ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ์ค„๊ธฐ๋กœ ๋‚˜๋ˆŒ์ˆ˜ ์žˆ๋‹ค. ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ ์–ธ์–ด(C++, Java, C#, Ruby, Python ๋“ฑ) ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜ ์–ธ์–ด(JavaScript, ActionScript, JScript ๋“ฑ) ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ & ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ชจ๋“  ๊ฐ์ฒด๋Š” ์ž์‹ ์˜ ๋ถ€๋ชจ ์—ญํ• ์„ ๋‹ด๋‹นํ•˜๋Š” ๊ฐ์ฒด์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ (๋งˆ์น˜ ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ์ƒ์† ๊ฐœ๋…๊ณผ ๊ฐ™์ด) ๋ถ€๋ชจ ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ ๋˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์ƒ์†๋ฐ›์•„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๋ถ€๋ชจ ๊ฐ์ฒด๋ฅผ Prototype(ํ”„๋กœํ† ํƒ€์ž…) ๊ฐ์ฒด ๋˜๋Š” ์ค„์—ฌ์„œ..
๋ฐฐ์—ด๊ณผ ๋ฐฐ์—ด์ฒ˜๋ฆฌ ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ 1. ๋ฐฐ์—ด์˜ ์š”์†Œ ์กฐ์ž‘ 2. ๋ฐฐ์—ด ๊ฒ€์ƒ‰ 3. ๋ฐฐ์—ด์˜ ์š”์†Œ ๋ณ€ํ˜• 4. ๋ฐฐ์—ด ์ž์ฒด๋ฅผ ๋ณ€ํ˜• 5. ๋ฌธ์ž์—ด ๋ณ‘ํ•ฉ ๋ฐฐ์—ด์˜ ์š”์†Œ ์กฐ์ž‘ ๋ฐฐ์—ด์— ์š”์†Œ ํ•˜๋‚˜ ์ถ”๊ฐ€/์ œ๊ฑฐ push/pop(๋) unshift/shif(์ฒ˜์Œ) ๋ฐฐ์—ด์˜ ๋์— ์—ฌ๋Ÿฌ ์š”์†Œ ์ถ”๊ฐ€ concat ๋ฐฐ์—ด์ผ๋ถ€ ๊ฐ€์ ธ์˜ค๊ธฐ slice ์ž„์˜์˜ ์œ„์น˜์— ์š”์†Œ ์ถ”๊ฐ€/์ œ๊ฑฐ splice ๋ฐฐ์—ด ์•ˆ์—์„œ ์š”์†Œ ๊ต์ฒดํ•˜๊ธฐ copyWithin ํŠน์ • ๊ฐ’์œผ๋กœ ๋ฐฐ์—ด ์ฑ„์šฐ๊ธฐ fill ๋ฐฐ์—ด ์ •๋ ฌ sort/reverse ๋ฐฐ์—ด ๊ฒ€์ƒ‰ ์กฐ๊ฑด์— ๋งž๋Š” ์š”์†Œ์˜ ์ธ๋ฑ์Šค ๊ฒ€์ƒ‰ indexOf/lastIndexOf ๋˜๋Š” findIndex ์กฐ๊ฑด์— ๋งž๋Š” ์š”์†Œ ๊ฒ€์ƒ‰ find some๊ณผ every ๋ฐฐ์—ด์˜ ์š”์†Œ ๋ณ€ํ˜• ์š”์†Œ ๋ณ€ํ˜•, ์‚ฌ๋ณธ ๋ฐ˜ํ™˜ map ์š”์†Œ ๋ณ€ํ˜•, ๋ฐฐ์—ด์—์„œ ํ•„์š”ํ•œ..
์Šค์ฝ”ํ”„(2) ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ 1. ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜, IIFE 2. ํ˜ธ์ด์ŠคํŒ… 3. ์‚ฌ๊ฐ์ง€๋Œ€์™€ ์ŠคํŠธ๋ฆญํŠธ ๋ชจ๋“œ 1. IIFE : ์ฆ‰์‹œ ํ˜ธ์ถœํ•˜๋Š” ํ•จ์ˆ˜ ํ‘œํ˜„์‹ 1-1) ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜์˜ ๊ธฐ๋ณธ ํ˜•์‹ #์ผ๋ฐ˜์ ์ธ ํ•จ์ˆ˜ ํ‘œํ˜„์‹ const g = function ํ•จ์ˆ˜์ด๋ฆ„(){ //... } #์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜ ํ‘œํ˜„์‹ (function () { //IIFE ๋ฐ”๋”” })() 1-2) ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜์˜ ์ข…๋ฅ˜ #1. ๊ธฐ๋ช… ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜ (function square(x) { console.log(x*x); })(2); #2. ์ต๋ช… ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜ (function (x) { console.log(x*x); })(2); #3. ๋ณ€์ˆ˜์— ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜ ์ €์žฅ (mySquare =function (x) { cons..
์Šค์ฝ”ํ”„(1) ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ 1. ์Šค์ฝ”ํ”„ 2. ์Šค์ฝ”ํ”„ ์ฒด์ธ 3. ๋ณ€์ˆ˜ ์ˆจ๊ธฐ๋Š” ๋ฐฉ๋ฒ• 3๊ฐ€์ง€ 4. ํด๋กœ์ ธ 1. ์Šค์ฝ”ํ”„ : ๋ณ€์ˆ˜์˜ ์œ ํšจ ๋ฒ”์œ„(์–ด๋””๊นŒ์ง€ ์ฐธ์กฐ ๊ฐ€๋Šฅํ•œ๊ฐ€) 1-1) ์Šค์ฝ”ํ”„์˜ ์ข…๋ฅ˜ ์ „์—ญ ์Šค์ฝ”ํ”„ : ์ฝ”๋“œ ์–ด๋””์—์„œ๋“  ์ฐธ์กฐ ๊ฐ€๋Šฅ(๋‚จ์šฉx, ์˜์กดx) ์ง€์—ญ ์Šค์ฝ”ํ”„ : ํ•จ์ˆ˜ ์ฝ”๋“œ ๋ธ”๋ก์ด ๋งŒ๋“  ์Šค์ฝ”ํ”„๋กœ ํ•จ์ˆ˜ ์ž์‹ ๊ณผ ํ•˜์œ„ ํ•จ์ˆ˜์—์„œ๋งŒ ์ฐธ์กฐ ๊ฐ€๋Šฅ ํ•จ์ˆ˜ ์Šค์ฝ”ํ”„ : ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์„ ์–ธํ•œ ๋ณ€์ˆ˜๋Š” ์ง€์—ญ ๋ณ€์ˆ˜์ด๋ฉฐ ํ•จ์ˆ˜ ์™ธ๋ถ€์—์„œ ์„ ์–ธํ•œ ๋ณ€์ˆ˜๋Š” ๋ชจ๋‘ ์ „์—ญ ๋ณ€์ˆ˜ ๋ธ”๋ก ์Šค์ฝ”ํ”„ : ์ฝ”๋“œ ๋ธ”๋ก ๋‚ด๋ถ€์—์„œ ์„ ์–ธํ•œ ๋ณ€์ˆ˜๋Š” ์ง€์—ญ ๋ณ€์ˆ˜. len๊ณผ const๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ๊ทธ ๋ณ€์ˆ˜๋ฅผ ๋‘˜๋Ÿฌ์‹ผ ์•„๋ฌด ๋ธ”๋ก์˜ ์Šค์ฝ”ํ”„์— ์†ํ•จ. 1-2) ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์Šค์ฝ”ํ”„์˜ ํŠน์ง• ํ•จ์ˆ˜ ๋‹จ์œ„์˜ ์œ ํšจ๋ฒ”์œ„ : if๋ฌธ, for๋ฌธ ๋“ฑ ๊ตฌ๋ฌธ๋“ค์ด ์‚ฌ์šฉ๋˜์—ˆ์„ ๋•Œ, ..
๋ฐ์ดํ„ฐ ํƒ€์ž… & ํ•จ์ˆ˜ ์ฑ… ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋ฐฐ์šด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ฐจ 1. ๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜, ๋ฆฌํ„ฐ๋Ÿด 2. ์‹๋ณ„์ž 3. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ฐ’ - ์›์‹œ ํƒ€์ž…๊ณผ ๊ฐ์ฒด 1. ํ•จ์ˆ˜ ์„ ์–ธ 2. ํ•จ์ˆ˜ ํ‘œํ˜„์‹, ํ™”์‚ดํ‘œ ํ‘œ๊ธฐ๋ฒ• 3. ํ•จ์ˆ˜ ํ˜ธ์ถœ, (call, apply, bind) 1. ๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜, ๋ฆฌํ„ฐ๋Ÿด 1-1) ๋ณ€์ˆ˜(let)์™€ ์ƒ์ˆ˜(const) : ์ดˆ๊นƒ๊ฐ’ ์ƒ๋žต๊ฐ€๋Šฅ, ์ƒ๋žตํ•˜๋ฉด undefined์œผ๋กœ ๋Œ€์ฒด๋จ let/const ๋ณ€์ˆ˜/์ƒ์ˆ˜์ด๋ฆ„; let/const ๋ณ€์ˆ˜/์ƒ์ˆ˜์ด๋ฆ„ = ์ดˆ๊นƒ๊ฐ’; let/const ๋ณ€์ˆ˜/์ƒ์ˆ˜์ด๋ฆ„1 = ์ดˆ๊นƒ๊ฐ’1, ๋ณ€์ˆ˜/์ƒ์ˆ˜์ด๋ฆ„2 = ์ดˆ๊นƒ๊ฐ’2; โ€ป ๋ณ€์ˆ˜ vs ์ƒ์ˆ˜ ์šฐ์„  ์ƒ์ˆ˜๋กœ ๋งŒ๋“ค๊ณ  ๋ณ€ํ•˜๋Š”๊ฒŒ ์ž์—ฐ์Šค๋Ÿฝ๋‹ค๊ณ  ์ƒ๊ฐ๋˜๋ฉด ๋ณ€์ˆ˜๋กœ ๋ณ€๊ฒฝ ์˜ˆ์™ธ) ์ƒ์ˆ˜x, ํ•ญ์ƒ ๋ณ€์ˆ˜์ธ ๊ฒฝ์šฐ : ๋ฃจํ”„, ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด์„œ ๊ฐ’์ด ๋ฐ”๋€Œ๋Š” ๊ฒฝ์šฐ 1-2) ๋ฆฌํ„ฐ๋Ÿด : ๊ฐ’์„ ..