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

Language

(11)
[TypeScript] TypeScript ์žฅ์ ๊ณผ ํŠน์ง• TypeScript๋ž€?Microsoft์—์„œ ๊ฐœ๋ฐœํ•œ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž…๋‹ˆ๋‹ค.JavaScript์˜ ํ™•์žฅ์œผ๋กœ, JavaScript์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜๋ฉด์„œ๋„ ์ •์  ํƒ€์ž…์„ ์ง€์›ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์™œ TypeScript๋ฅผ ์“ฐ๋Š”๊ฐ€?1. ํƒ€์ž… ์•ˆ์ •์„ฑํƒ€์ž… ์•ˆ์ •์„ฑ(Type Safety)์€ ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜ ๋“ฑ์ด ์ •์˜๋œ ํƒ€์ž…๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.ํƒ€์ž„ ์•ˆ์ •์„ฑ์„ ํ†ตํ•ด ์–ป๋Š” ๊ฒƒ์ปดํŒŒ์ผ ํƒ€์ž„ ํƒ€์ž… ์ฒดํฌ : ์ปดํŒŒ์ผ ๊ณผ์ •์—์„œ ํƒ€์ž… ์—๋Ÿฌ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ๊ฒฝ๊ณ ๋‚˜ ์˜ค๋ฅ˜๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.๊ฐ•๋ ฅํ•œ ํƒ€์ž… ์‹œ์Šคํ…œ : ํƒ€์ž…์ด ๋ช…ํ™•ํ•˜๊ฒŒ ์ง€์ •๋˜์–ด์•ผ ํ•˜๊ณ , ํƒ€์ž…์— ๋Œ€ํ•œ ์—„๊ฒฉํ•œ ๊ทœ์น™์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.ํƒ€์ž… ์ถ”๋ก  : ํƒ€์ž…์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์•„๋„ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํƒ€์ž…์„ ์ถ”๋ก ํ•ด์ค๋‹ˆ๋‹ค.ํƒ€์ž… ์•ˆ์ •์„ฑ ๋•๋ถ„์— ๋ฒ„๊ทธ์™€ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๊ณ ..
[JavaScript] JavaScript์˜ ์ผ๊ธ‰๊ฐ์ฒด๋ž€? ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ผ๊ธ‰ ๊ฐ์ฒด๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณด๊ธฐ ์ „์— ํ•จ์ˆ˜์˜ ์„ ์–ธ์‹๊ณผ ํ‘œํ˜„์‹์— ๋Œ€ํ•ด ์งš๊ณ  ๋„˜์–ด๊ฐ€๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.ํ•จ์ˆ˜ ์„ ์–ธ์‹ & ํ•จ์ˆ˜ ํ‘œํ˜„์‹์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜์—๋Š” ์„ ์–ธ์‹(Function Declarations)๊ณผ ํ‘œํ˜„์‹(Function Expressions)์ด ์žˆ์Šต๋‹ˆ๋‹ค.ํ•จ์ˆ˜ ์„ ์–ธ์‹function f1() { // ...}ํ•จ์ˆ˜ ํ‘œํ˜„์‹ํ‘œํ˜„์‹์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ๋‘๊ฐ€์ง€ ๋ฐฉ์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค.const a = function f1() { //...};const b = () => { // ํ™”์‚ดํ‘œ ํ•จ์ˆ˜(Arrow Functions)};  ํ‘œํ˜„์‹์—์„œ๋Š” ๋ณ€์ˆ˜์— ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜๊ฐ’์ด ์•„๋‹ˆ๋ผ ํ•จ์ˆ˜ ์ž์ฒด๋ฅผ ๋‹ด๋Š” ๋ชจ์–‘์ƒˆ์ž…๋‹ˆ๋‹ค.์„ ์–ธ์‹๊ณผ ๋‹ฌ๋ฆฌ ๋ณ€์ˆ˜์— ํ•จ์ˆ˜๋ฅผ ์–ด๋–ป๊ฒŒ ๋Œ€์ž…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ผ๊นŒ์š”?์ด๊ฒƒ์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๊ฐ์ฒด์˜ ์˜๋ฏธ๋ฅผ ์ดํ•ดํ•ด์•ผ ..
[JavaScript] for...in ๊ณผ for...of์˜ ์ฐจ์ด for...in ๊ณผ for...of์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. for...infor...in ๋ฌธ์€ ์ƒ์†๋œ ์—ด๊ฑฐ ๊ฐ€๋Šฅํ•œ ์†์„ฑ๋“ค์„ ํฌํ•จํ•˜์—ฌ ๊ฐ์ฒด์—์„œ ๋ฌธ์ž์—ด๋กœ ํ‚ค๊ฐ€ ์ง€์ •๋œ ๋ชจ๋“  ์—ด๊ฑฐ ๊ฐ€๋Šฅํ•œ ์†์„ฑ์— ๋Œ€ํ•ด ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.for (variable in object) { statement;} ์—ด๊ฑฐ ๊ฐ€๋Šฅํ•œ ์†์„ฑ(enumerable)๊ฐ์ฒด๋ฅผ ์„ ์–ธํ•˜์—ฌ ์‚ดํŽด๋ณด๋ฉด [[Prototype]] ์ด๋ผ๋Š” ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค.์—ด๊ฑฐ ๊ฐ€๋Šฅํ•œ ์†์„ฑ์ด ๋ฌด์—‡์ธ์ง€ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด Prototype์— ๋Œ€ํ•ด ๋จผ์ € ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. PrototypeJS๋Š” ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜ ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด์ด๋ฉฐ, ํ”„๋กœํ† ํƒ€์ž… ์ฒด์ธ์„ ํ†ตํ•ด ์†์„ฑ์„ ์ƒ์†ํ•ฉ๋‹ˆ๋‹ค.JS์˜ ๋ชจ๋“  ๊ฐ์ฒด๋Š” ๋ถ€๋ชจ ์—ญํ• ์˜ ๊ฐ์ฒด์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด, ๋ถ€๋ชจ ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ ๋˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์ƒ์†๋ฐ›์•„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์ด๋Ÿฌํ•œ ๋ถ€๋ชจ..