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์ ๋ชจ๋ ๊ฐ์ฒด๋ ๋ถ๋ชจ ์ญํ ์ ๊ฐ์ฒด์ ์ฐ๊ฒฐ๋์ด ์์ด, ๋ถ๋ชจ ๊ฐ์ฒด์ ํ๋กํผํฐ ๋๋ ๋ฉ์๋๋ฅผ ์์๋ฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.์ด๋ฌํ ๋ถ๋ชจ.. ์ด์ 1 2 ๋ค์