๐ป TypeScript๊ฐ ๋ฌด์์ธ๊ฐ์? ๊ฐ๋ฐ์๋ฅผ ์ํ ์ค์ฉ์ ์ธ ๊ฐ์ด๋ ๐
ํ์ ์คํฌ๋ฆฝํธ๋?
TypeScript์ JavaScript์ ๋ชจ๋ ์ ์ฐ์ฑ๊ณผ ๋์ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฅ ์์ a type system์ ์ ๊ณตํ๋ Microsoft์์ ๋ง๋ ์ธ๊ธฐ ์๋ JavaScript ์์ ์งํฉ์ ๋๋ค.
์ด ์ธ์ด๋ ์คํ ์์ค ํ๋ก์ ํธlicensed under the Apache License 2.0๋ก ๊ตฌ์ถ๋์์ผ๋ฉฐ ๋งค์ฐ ํ๋ฐํ๊ณ ํ๊ธฐ์ฐฌ ์ปค๋ฎค๋ํฐ๋ฅผ ๋ณด์ ํ๊ณ ์์ผ๋ฉฐ ์ฒ์ ์์๋ ์ดํ๋ก ํฌ๊ฒ ๋์ฝํ์ต๋๋ค.
TypeScript ์ค์น
TypeScript๋ฅผ ์์ํ๊ณ ๋ชจ๋ ์์ ๋ฅผ ์๋ํ๋ ค๋ฉด ์ปดํจํฐ์ TypeScript ๋ณํ๊ธฐ๋ฅผ ์ค์นํ๊ฑฐ๋(์์ธํ ๋ด์ฉ์ ๋ค์ ๋จ๋ฝ ์ฐธ์กฐ) official online playground ๋๋ ์ํ๋ ๋ค๋ฅธ ๋ณํ๊ธฐonline solution๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ก์ปฌ์์ ์์ ๋ฅผ ์๋ํ๋ ค๋ ๊ฒฝ์ฐ Node.js์์ ์คํ๋๋ ๋ช ๋ น์ค ๋ณํ๊ธฐ๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค. ๋จผ์ ์์คํ ์์ install Node.js and npm ํด์ผ ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ Node.js ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๊ณ TypeScript ๋ณํ๊ธฐ ํจํค์ง๋ฅผ ์ค์นํ ์ ์์ต๋๋ค.
# Create a new directory for your project
mkdir typescript-intro
# Make your project directory the current directory
cd typescript-intro
# Initialize a new Node.js project
npm init -y
# Install the TypeScript compiler
npm i typescript
์ด๊ฒ์ ํ์ฌ ํ๋ก์ ํธ์
tsc
(TypeScript Compiler) ๋ช
๋ น์ ์ค์นํฉ๋๋ค. ์ค์น๋ฅผ ํ
์คํธํ๋ ค๋ฉด ๋ค์ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ ์๋์ index.ts
๋ผ๋ TypeScript ํ์ผ์ ๋ง๋ญ๋๋ค.console.log(1);
๊ทธ๋ฐ ๋ค์ ํธ๋์คํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ JavaScript๋ก ๋ณํํฉ๋๋ค.
# transpiling index.ts to index.js
npx tsc index.ts
๊ทธ๋ฌ๋ฉด TypeScript ํ์ผ๊ณผ ์์ ํ ๋์ผํ ์ฝ๋๋ก
index.js
๋ผ๋ ์ ํ์ผ์ด ์์ฑ๋ฉ๋๋ค. node
๋ช
๋ น์ ์ฌ์ฉํ์ฌ ์ด ์ ํ์ผ์ ์คํํ์ญ์์ค.# this will output 1
node index.js
๋ณํ๊ธฐ๊ฐ JavaScript ํ์ผ์ ๋ง๋ค๊ณ ์๋ณธ ์ฝ๋๋ฅผ ๋ณต์ฌํ๋ ๊ฒ ์ธ์ ๋ค๋ฅธ ์์ ์ ์ํํ์ง ์์์ง๋ง ์ด ๋จ๊ณ๋ฅผ ํตํด TypeScript ์ค์น๊ฐ ์ํธํ ์ํ์ธ์ง ํ์ธํ๊ณ ๋ค์ ๋จ๊ณ๋ฅผ ์ฒ๋ฆฌํ ์ค๋น๊ฐ ๋์์ต๋๋ค.
Note: TypeScript versions can have substantial differences even though they get released as minor revisions. It's common to bump into transpilation problems after a minor version update. For that reason, it is better to install TypeScript locally in your project and execute it using
npx
when needed instead of relying on a global TypeScript installation.
Read more...
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ป TypeScript๊ฐ ๋ฌด์์ธ๊ฐ์? ๊ฐ๋ฐ์๋ฅผ ์ํ ์ค์ฉ์ ์ธ ๊ฐ์ด๋ ๐ ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/robertinoc_dev/what-is-typescript-a-practical-guide-for-developers-3hjoํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค