ยซ   2025/02   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Archives
Recent Posts
02-02 00:31

Today
Total

Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

์—ฐ์˜ ๊ธฐ๋ก ๐Ÿช

[Javascript -> Typescript] ์—๋Ÿฌ ๋ชจ์Œ ๋ณธ๋ฌธ

WEB/Typescript

[Javascript -> Typescript] ์—๋Ÿฌ ๋ชจ์Œ

kite707 2023. 4. 26. 01:00

JavaScript๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ TypeScript๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด์„œ ๋งŒ๋‚ฌ๋˜ ๋งŽ์€ ์—๋Ÿฌ์— ๋Œ€ํ•ด ๊ธฐ๋กํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.

 

  • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” export๋‚˜ import๊ฐ€ ์—†์œผ๋ฉด ์Šคํฌ๋ฆฝํŠธ๋กœ ํ•ด์„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ™์€ ์ด๋ฆ„์˜ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•œ๋‹ค๋ฉด(๋‹ค๋ฅธ ํŒŒ์ผ์ž„์—๋„!!!) ์—๋Ÿฌ๋ฅผ ๋‚ธ๋‹ค. ํŒŒ์ผ์˜ ๋์— export {}; ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์—๋Ÿฌ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ์ž‘์„ฑํ•œ ์ธ์ž๋ฅผ ๋„˜๊ฒจ์ฃผ์ง€ ์•Š์œผ๋ฉด ์—๋Ÿฌ๋ฅผ ๋‚ธ๋‹ค. ์˜ˆ์‹œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
function hihi(a, b) {
  return a+b;
}

//์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์œ„ ๋‘ ์ƒํ™ฉ์— ๋Œ€ํ•ด ์—๋””ํ„ฐ์—์„œ ์—๋Ÿฌ๋ฅผ ๋‚ด์ง€ ์•Š์ง€๋งŒ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ์—๋Ÿฌ๋ฅผ ๋‚ธ๋‹ค.
hihi(1);
hihi(1,2,3);

//๋งŒ์•ฝ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๊ณ  ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋Š” ์ธ์ž๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ช…์‹œ์ ์œผ๋กœ ?๋ฅผ ๋ถ™์—ฌ์ฃผ๋„๋ก ํ•˜์ž.
function hihi(a, b?) {
  return a+b;
}
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” for๋ฌธ์„ ์ž‘์„ฑํ•  ๋•Œ ๊ทธ๋ƒฅ for(i = 1; i<array.length; i++)~~ ์™€ ๊ฐ™์ด ์ž‘์„ฑํ–ˆ์ง€๋งŒ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ์—๋Ÿฌ๋ฅผ ๋‚ธ๋‹ค. for(let i = 1; i<array.length; i++)๋ผ๊ณ  ๊ณ ์ณ์ฃผ๋ฉด ์—๋Ÿฌ๋ฅผ ๋‚ด์ง€ ์•Š๋Š”๋‹ค.
  • import๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด package.json์— “type” : “module” ์ด ์ถ”๊ฐ€๋˜์–ด์•ผ ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•  ๊ฒฝ์šฐ typescript์— "moduleResolution": "nodenext"๋ฅผ ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ํ•œ๋‹ค.