TypeScript๋ Microsoft์์ ๊ฐ๋ฐํ ์คํ์์ค ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์
๋๋ค.
๊ธฐ์กด JavaScript๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋, ์ ์ ํ์
(static typing) ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์์ ์ธ์ด์
๋๋ค.
์ฆ, JavaScript์ ๋จ์ ์ ๋ณด์ํ๋ฉด์ ๋ ์์ ์ ์ด๊ณ ๊ท๋ชจ ์๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ง๋ค๊ธฐ ์ํ ๋๊ตฌ์
๋๋ค.
โ JavaScript + Type = TypeScript
ํน์ง | ์ค๋ช |
---|---|
๐ ์ ์ ํ์ ๊ฒ์ฌ | ๋ณ์, ํจ์์ ํ์ ์ ๋ช ์ํ ์ ์์ผ๋ฉฐ ์ปดํ์ผ ์์ ์ ํ์ ์ค๋ฅ ๊ฐ์ง |
โฑ ๋น ๋ฅธ ์ค๋ฅ ๊ฒ์ถ | ์คํ ์ ์ ๋ฒ๊ทธ๋ฅผ ํ์ธํ ์ ์์ (๋ฐํ์ ์๋ฌ ๊ฐ์) |
๐ฏ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ง์ | ํด๋์ค, ์ธํฐํ์ด์ค, ์์ ๋ฑ ์ง์ |
๐งฉ JavaScript 100% ํธํ | JS ๋ฌธ๋ฒ ๊ทธ๋๋ก ์ฌ์ฉ ๊ฐ๋ฅ, ์ ์ง์ ์ผ๋ก ์ ์ฉ ๊ฐ๋ฅ |
๐ ๋๊ตฌ ์นํ์ฑ | VS Code ๋ฑ IDE์์ ๊ฐ๋ ฅํ ์๋์์ฑ, ๊ฒฝ๊ณ , ๋ฆฌํฉํ ๋ง ์ง์ |
let name: string = "ํ๊ธธ๋";
let age: number = 30;
let isAdmin: boolean = true;
let numbers: number[] = [1, 2, 3];
let user: { name: string; age: number } = {
name: "์ฒ ์",
age: 25
};
function add(x: number, y: number): number {
return x + y;
}
interface Person {
name: string;
age: number;
}
const person: Person = {
name: "์ํฌ",
age: 22
};
class Animal {
constructor(public name: string) {}
speak(): void {
console.log(`${this.name}์ด(๊ฐ) ์๋ฆฌ๋ฅผ ๋
๋๋ค.`);
}
}
const dog = new Animal("๊ฐ์์ง");
dog.speak();
type Status = "success" | "error" | "loading";
let currentStatus: Status = "success";
npm install -g typescript # TypeScript ์ค์น
tsc --init # tsconfig.json ์์ฑ
tsc index.ts # TypeScript โ JavaScript ์ปดํ์ผ
๊ธฐ๋ฅ | ์์ |
---|---|
์ ๋ค๋ฆญ (Generic) | function identity<T>(arg: T): T |
ํ์ ์ถ๋ก | let name = "hello"; โ string ์๋ ์ถ๋ก |
์ ํ์ ์์ฑ | interface User { name: string; age?: number } |
readonly | ์ฝ๊ธฐ ์ ์ฉ ์์ฑ ์ง์ |
ํ์ ๊ฐ๋ | if (typeof value === "string") { ... } |
ํญ๋ชฉ | ๋ด์ฉ |
---|---|
์ธ์ด๋ช | TypeScript |
๊ธฐ๋ฐ ์ธ์ด | JavaScript |
ํต์ฌ ๊ธฐ๋ฅ | ์ ์ ํ์ ๊ฒ์ฌ, ํด๋์ค, ์ธํฐํ์ด์ค, ์ ๋ค๋ฆญ |
๋ํ ํ์ฉ ๋ถ์ผ | ํ๋ก ํธ์๋(React, Angular, Vue), Node.js ๋ฐฑ์๋ |
์ ํฉํ ๋์ | ์ค/๋ํ ํ๋ก์ ํธ, ํ์ , ์ฅ๊ธฐ ์ ์ง๋ณด์ ํ๋ก์ ํธ |
์๋์ฐ ์ด์์ฒด์ ์ ๋ ธํธ๋ถ์์๋ iPhone ์ ์ ํ ๋๋ง์ด ์ ์๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ณดํต iPhone์ ๋๋ผ์ด๋ฒ๊ฐ ์ค์น๊ฐ ์๋์์ด์์ธ…
์ค๋ผํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฑ๋ฅ์ ๋ ผํ ๋, ๋ด๋ถ์ ์ผ๋ก ๋ฐ์ํ๋ ๊ฒฝํฉ(Contention)์ ํผํ ์ ์๋ ์ฃผ์ ๋ค. ํนํ ๋ค์์ ํ๋ก์ธ์ค๊ฐ…
์๋ ํ์ธ์, ํน์ ์ด๋ฐ ์๊ฐํด ๋ณธ ์ ์์ผ์ ๊ฐ์? "๋ด๊ฐ ํฌ์ํ ํ์ฌ๋ ๋๊ฐ ๊ฐ์ํ๊ณ , ์ด๋ป๊ฒ ์ด์๋ ๊น?" ์ค๋์…
'๋ฒกํฐ ์คํ ์ด' ์๋ฒฝ ๊ฐ์ด๋: AI ์๋, ๋ฐ์ดํฐ์ ์๋ก์ด ์ฌ์ฅ์ ๋ง๋๋ค IT ์ ๊ณ๋ ์ธ๊ณต์ง๋ฅ(AI)์ด๋ผ๋ ๊ฑฐ๋ํ ํจ๋ฌ๋ค์์…
1. Gemini CLI๋ ๋ฌด์์ธ๊ฐ์? Gemini CLI๋ ํฐ๋ฏธ๋ ํ๊ฒฝ์์ ์ง์ Gemini ๋ชจ๋ธ๊ณผ ์ํธ์์ฉํ ์ ์๋๋ก ๋ง๋ค์ด์ง…
๊ณผ์ ํฉ์ ๋จธ์ ๋ฌ๋์์ ํ์ต์ฉ๋ฐ์ดํฐ๋ฅผ ๊ณผํ๊ฒ ํ์ตํ์ฌ, ์ค์ ๋ฐ์ดํฐ๋ฅผ ์์ธกํ์ง ๋ชปํ๋ ํ์์ ๋งํฉ๋๋ค. ์ธ๊ณต์ง๋ฅ(AI)์ ํ์ต ๋ฐฉ๋ฒ์ ์ฐ๋ฆฌ๊ฐ ์ํ๊ณต๋ถ๋ฅผ…