[TypeScript] TypeScriptλŠ” 뭘까? πŸ’β€β™€οΈ

이민영·2022λ…„ 1μ›” 15일

μš”μƒˆ μ·¨μ—… μ€€λΉ„λ₯Ό μœ„ν•΄μ„œ μ΄λŸ°μ €λŸ° μ‚¬μ΄νŠΈλ₯Ό λŒμ•„λ‹€λ‹ˆλ©° 기업듀이 μ–΄λ–€ μŠ€νƒμ„ μ›ν•˜λŠ”μ§€ λ‘˜λŸ¬λ³΄κ³  μžˆλŠ”λ° κΌ­ λ³΄μ΄λŠ”κ²Œ Typescript κ²½ν—˜μ΄ μžˆλŠ” μ‚¬λžŒμ΄μ—ˆλ‹€. Typescriptκ°€ 뭐지?

πŸ“ Typesciptλž€ 뭘까?

νƒ€μž…μŠ€ν¬λ¦½νŠΈλŠ” μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ μŠˆνΌμ…‹μΈ μ˜€ν”ˆμ†ŒμŠ€ ν”„λ‘œκ·Έλž˜λ° 언어이닀.
μ‰¬μš΄λ§λ‘œ μ„€λͺ…을 ν•΄λ³΄μžλ©΄, νƒ€μž…μ„ λͺ…μ‹œν•  ν•„μš”κ°€ μ—†λŠ” 인터프리터 언어인 비ꡐ적 μœ μ—°ν•œ μžλ°”μŠ€ν¬λ¦½νŠΈμ™€ 달리, 정적 νƒ€μž…μ„ λͺ…μ‹œν•  수 μžˆλ‹€λŠ” 것이 μˆœμˆ˜ν•œ μžλ°”μŠ€ν¬λ¦½νŠΈμ™€μ˜ κ°€μž₯ 큰 차이점이닀. μ΄λ‘œμΈν•œ μž₯점이라 ν•˜λ©΄, 높은 개발 μ•ˆμ •μ„±κ³Ό νŽΈμ˜μ„±μ„ 확보할 수 μžˆλ‹€.
κ·Έλž˜μ„œ λŒ€κΈ°μ—…μ΄λ‚˜ 큰 규λͺ¨μ˜ μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•˜λŠ” νšŒμ‚¬μ—μ„œλŠ” νƒ€μž…μŠ€ν¬λ¦½νŠΈλ₯Ό 많이 μ‚¬μš©ν•œλ‹€λŠ” κ±Έ μ•Œκ²Œ λ˜μ—ˆλ‹€. λ‚˜λŠ” 규λͺ¨μ— 상관없이 미리 일어날 μ—λŸ¬λ“€μ— λŒ€μ²˜ ν• μˆ˜ μžˆλ‹€λŠ” 것은 κ°œλ°œμžμ—κ²Œλ„ λ§Žμ€ 이점이 있고 생산성도 ν–₯상 될거라고 생각 λ˜μ–΄μ„œ 관심을 κ°€μ§€κ²Œ λ˜μ—ˆλ‹€.


πŸ—£ λ‚˜λŠ” μ™œ typescript에 관심을 κ°€μ§€κ²Œ λ˜μ—ˆλŠ”κ°€?

λ‚˜λŠ” μ΄λ²ˆμ— 첫 νŒ€ ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ λ§Žμ€κ²ƒμ„ κΉ¨λ‹³μ•˜λŠ”λ°, κ·Έ 쀑 ν•˜λ‚˜λŠ” 미리 일어날 μ—λŸ¬μ— λŒ€ν•΄ λŒ€μ²˜λ₯Ό ν•΄λ†“λŠ”κ²Œ μ€‘μš”ν•˜λ‹€λŠ” 것이닀. μ§€κΈˆκΉŒμ§€ 코딩을 ν• λ•Œ κ·Έ μ½”λ“œλ‘œ μ›ν•˜λŠ”κ±Έ κ΅¬ν˜„ν•˜λŠ”λ° κΈ‰κΈ‰ν•΄μ„œ κ΅¬ν˜„μ— μ„±κ³΅ν•˜λ©΄ 'μ˜€μΌ€μ΄ λ‹€μŒ κΈ°λŠ₯ κ΅¬ν˜„' μ΄λ ‡κ²Œ λ„˜μ–΄κ°€κ³€ ν–ˆλŠ”λ°, λ°°ν¬ν•˜κ³  μ‹€μ œλ‘œ μ‚¬λžŒλ“€μ΄ μ‚¬μš©ν•΄λ³΄κ²Œ ν•˜λŠ”λ°μ—λŠ” κΈ°λŠ₯ κ΅¬ν˜„λ„ μ€‘μš”ν•˜μ§€λ§Œ μ—λŸ¬κ°€ λ‚˜μ§€ μ•Šκ²Œ ν•˜λŠ”κ²ƒ, μ›ν•˜λŠ” 값이 λ“€μ–΄μ˜€μ§€ μ•Šμ•˜μ„μ‹œμ— μ–΄λ–»κ²Œ λŒ€μ²˜λ₯Ό ν•΄μ•Όν•˜λŠ”κ°€μ— λŒ€ν•΄μ„œ 생각을 많이 ν•˜κ²Œ λ˜μ—ˆλ‹€. νƒ€μž…μŠ€ν¬λ¦½νŠΈλŠ” 그런 μ˜λ―Έμ—μ„œ ν•„μš”μ„±μ΄ μ™€λ‹Ώμ•˜λ‹€.

  • κ°œλ°œμžκ°€ μ˜λ„ν•œ λ³€μˆ˜λ‚˜ ν•¨μˆ˜ λ“±μ˜ λͺ©μ μ„ λ”μš± λͺ…ν™•ν•˜κ²Œ 전달할 수 있고, κ·Έλ ‡κ²Œ μ „λ‹¬λœ 정보λ₯Ό 기반으둜 μ½”λ“œ μžλ™ μ™„μ„±μ΄λ‚˜ 잘λͺ»λœ λ³€μˆ˜/ν•¨μˆ˜ μ‚¬μš©μ— λŒ€ν•œ μ—λŸ¬ μ•Œλ¦Ό 같은 ν’λΆ€ν•œ ν”Όλ“œλ°±μ„ 받을 수 있게 λ˜λ―€λ‘œ 순수 μžλ°”μŠ€ν¬λ¦½νŠΈμ— λΉ„ν•΄ μ–΄λ§ˆμ–΄λ§ˆν•œ 생산성 ν–₯상을 κΎ€ν•  수 μžˆλ‹€. 즉, 'μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό μ‹€μ œλ‘œ μ‚¬μš©ν•˜κΈ° 전에 μžˆμ„λ§Œν•œ νƒ€μž… μ—λŸ¬λ“€μ„ 미리 μž‘λŠ” 것' 이 νƒ€μž…μŠ€ν¬λ¦½νŠΈμ˜ μ‚¬μš© λͺ©μ μ΄λ‹€. (λ‚˜λ¬΄μœ„ν‚€ 좜처)

κ·Έλž˜μ„œ μ•Œμ•„λ‘λ©΄ 정말 쒋을것 κ°™κ³  κΈ°μ‘΄ μžλ°”μŠ€ν¬λ¦½νŠΈμ™€ 크게 λ‹€λ₯Έμ μ΄ μ—†κΈ° λ•Œλ¬Έμ— ν•œλ²ˆ λ‹€μŒ ν”„λ‘œμ νŠΈμ—μ„œλŠ” 써보고 μ‹Άλ‹€κ³  생각이 λ“€μ—ˆλ‹€. 특히, λ¦¬μ•‘νŠΈμ™€μ˜ ν˜Έν™˜λ„ μž˜λ˜μ–΄ λ‘˜μ˜ ꢁ합이 μ’‹λ‹€κ³  ν•΄μ„œ 주둜 λ¦¬μ•‘νŠΈλ₯Ό μ‚¬μš©ν•˜κ³  μžˆλŠ” λ‚˜μ—κ²ŒλŠ” 정말 λ§€λ ₯적으둜 μ™€λ‹Ώμ•˜λ‹€.



πŸ“Œ Typescript μ„€μΉ˜ν•˜κΈ°

1. pakage.json 생성

$ npm init

2. typescript μ„€μΉ˜

  • global둜 μ„€μΉ˜
$ npm i -g typescript
  • devDependency둜 μ„€μΉ˜
$ npm i -D typescript

πŸ“Œ Typescript μ‚¬μš©ν•˜κΈ°

μ„€μΉ˜λ₯Ό ν–ˆλ‹€λ©΄ .ts둜 λλ‚˜λŠ” νŒŒμΌμ„ λ§Œλ“€μ–΄μ„œ typescriptνŒŒμΌμ„ λ§Œλ“€μ–΄μ€λ‹ˆλ‹€. typescriptλŠ” 기본적으둜 javascript문법을 μ”λ‹ˆλ‹€. κ°€μž₯ νŠΉμ§•μœΌλ‘œλŠ” νƒ€μž…μ„ λͺ…μ‹œν•˜λŠ” 것이 λ‹€λ₯΄λ‹€.
기본적인 μ‚¬μš©λ²•μ€ μ•„λž˜ κ³΅μ‹λ¬Έμ„œλ‘œ λΉ λ₯΄κ²Œ ν™•μΈν•΄λ³΄μž. (μΉœμ ˆν•˜κ²Œ ν•œκ΅­μ–΄ 버전이 μžˆλ‹€.) https://www.typescriptlang.org/ko/docs/handbook/typescript-in-5-minutes.html

κ·Έλ‹€μŒ, νƒ€μž… 슀크립트 μ‚¬μš©μ€ μ•„λž˜λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•΄μ„œ 컴파일 ν•΄μ€€λ‹€.

$ tsc λ‚΄κ°€λ§Œλ“ νŒŒμΌλͺ….ts
profile
ν”„λ‘ νŠΈμ—”λ“œ 개발자λ₯Ό 꿈꾸고 μžˆμŠ΅λ‹ˆλ‹€ !

0개의 λŒ“κΈ€