# * Introduction

Written by ๐Ÿ“ Juunone

ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ๊ณต์‹ํŽ˜์ด์ง€์— ๋“ค์–ด๊ฐ€๋ฉด ๋ฉ”์ธ์— ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฌธ๊ตฌ๊ฐ€ ์ ํ˜€์žˆ๋‹ค.

  • TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
    ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์ปดํŒŒ์ผ๋˜๋Š”, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ƒ์œ„์ง‘ํ•ฉ์ด๋‹ค.

# Superset of Javascript

javascript_superset

์ถœ์ฒ˜ : Superset of Javascript

ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ƒ์œ„์ง‘ํ•ฉ์ด๋‹ค.
ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ES5, ES6์˜ superset์œผ๋กœ ๊ธฐ์กด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌธ๋ฒ•์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ,
ES6์˜ ์ƒˆ๋กœ์šด ๋ฉ”์†Œ๋“œ๋‚˜ ๊ธฐ๋Šฅ๋“ค์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ณ„๋„์˜ Transpiler(์˜ˆ: babel)์„ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๋Š”๋‹ค.
์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๋ธŒ๋ผ์šฐ์ €์˜ ์—”์ง„ ํ˜น์€ Node.js๋ฅผ ํ†ตํ•ด ์‹คํ–‰ ํ•  ์ˆ˜ ์žˆ๋‹ค.
TypeScript ์ปดํŒŒ์ผ๋Ÿฌ๋Š” TypeScript ๋ฌธ๋ฒ•์„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌธ๋ฒ•์œผ๋กœ ๋ณ€ํ™˜์‹œ์ผœ์ฃผ๋ฉฐ,
์ด๋•Œ ์ฝ”๋“œ์—์„œ ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•œ ์ˆœ์„œ๋‚˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ์ง€ ์•Š๋Š”๋‹ค.
๋”ฐ๋ผ์„œ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฒฐ๊ณผ๋ฌผ์„ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋””๋ฒ„๊น…ํ•˜์—ฌ TypeScript ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ์—๋„ ์šฉ์ดํ•˜๋‹ค.

# TypeScript์˜ ์—ญ์‚ฌ

JavaScript๊ฐ€ ๋Œ€๊ทœ๋ชจ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค๋Š” ํŒ€๊ณผ ๊ณ ๊ฐ์‚ฌ์˜ ๋ถˆํ‰๋“ค์„ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•ด
ํ•ต์‹ฌ ๊ฐœ๋ฐœ์ž์ธ Anders Hejlsberg ๋ฆฌ๋“œํ•˜์— TypeScript ํƒ„์ƒํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.
ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์˜ ๋ฐฉํ–ฅ๊ณผ ๋ชฉํ‘œ๋Š” ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์œ„ํ‚ค ๋กœ๋“œ๋งต์„ ํ†ตํ•ด ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.

# TypeScript์˜ ์žฅ์ 

  • Javascript ํ‘œ์ค€๊ณผ ์ƒํ˜ธ ํ˜ธํ™˜

    • ์„œ๋“œํŒŒํ‹ฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒจํ‚ค์ง€ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
    • ๋Ÿฌ๋‹์ปค๋ธŒ๊ฐ€ ๋‹ค๋ฅธ Javascript ์ปดํŒŒ์ผ ์–ธ์–ด๋“ค(Dart, CoffeeScript ๋“ฑ)์— ๋น„ํ•ด ๋น„๊ต์  ์™„๋งŒํ•˜๋‹ค.
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์— ๋“œ๋Š” ๋น„์šฉ์ด ์ ๋‹ค.
  • ์ •์  ํƒ€์ž…

    • ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ ์˜ค๋ฅ˜ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
    • ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๋†’์ด๋ฉฐ, ๋””๋ฒ„๊น…์„ ์†์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ง€์› ๋ฐ ์ปค๋ฎค๋‹ˆํ‹ฐ

    • TypeScript๋Š” ๊ณต์‹์ ์œผ๋กœ Microsoft ์˜ ์ง€์›์„ ๋ฐ›๋Š”๋‹ค.
      • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ์•ฝ 2-3๋‹ฌ์„ ๊ธฐ์ค€์œผ๋กœ ๋งˆ์ด๋„ˆ ๋ฒ„์ „์ด ์—…๋ฐ์ดํŠธ ๋˜๊ณ  ์žˆ๋‹ค.
    • Friends of TypeScript์—์„œ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์„ธ๊ณ„ ๊ธฐ์—…๋“ค์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • Angular2 ๋Š” TypeScript๋ฅผ ์ •์‹์œผ๋กœ ์ฑ„ํƒํ–ˆ๊ณ , ๋งŽ์€ ์ œ์•ˆ๋“ค์ด ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๊ณ„์†๋˜๊ณ  ์žˆ๋‹ค.
    • IDE์™€ ๊ฐ™์€ ๋„๊ตฌ์— ํƒ€์ž…์ •๋ณด ์ œ๊ณต์„ ํ†ตํ•ด ์ฝ”๋“œ์–ด์‹œ์ŠคํŠธ, ํƒ€์ž…์ฒดํฌ, ๋ฆฌํŒฉํ† ๋ง ๋“ฑ์„ ์ง€์›๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

google_trends_typescript

์ถœ์ฒ˜ : Google Trends ์ง€๋‚œ 5๋…„๊ฐ„ TypeScript ๊ด€์‹ฌ๋„

Last Updated: 7/5/2019, 8:38:55 AM