728x90
TypeScript ์ฐ๋ ์ด์
1. Javascript๋ Dynamic Typing ์ด ๊ฐ๋ฅํ๋ค. : ์ฝ๋๋ฅผ ๊ธธ๊ฒ ์งค ๋๋ ์์ ๋์ ์ ์ฐ์ฑ์ด ๋ ์ด ๋๋ค.
// Javascript
5 - '3'
// ์ฐ์ฐ ๊ฐ๋ฅ
// ์๋๋ ์ซ์-์ซ์๋ง ๊ฐ๋ฅํ์ง๋ง JS๊ฐ ์์์ '3'์ ์ซ์๋ก ๋ฐ๊ฟ์ค๋ค.
// ํ๋ก์ ํธ ๊ท๋ชจ๊ฐ ์ปค์ง๋ฉด ๋จ์ . ๊ด๋ฆฌํ๊ธฐ ํ๋ฌ.
ts ๋ type ์ ์๊ฒฉํ๊ฒ ๊ฒ์ฌํด์ค๋ค.
// Typescript
5 - '3'
// TS Error : ๋ฌธ์๋ ์ซ์๋ฅผ ๋นผ๋๊ฒ ์ด์ํ๋ค. ์์ ์๋ง.
2. TypeScript ๋ ์๋ฌ๋ฉ์ธ์ง๋ฅผ ์์ธํ๊ฒ ๋ฟ๋ ค์ค๋ค.
TypeScript ๋ Javascript ์ ๋ฌธ๋ฒ์ด ๊ฑฐ์ ๋์ผํ๊ธฐ ๋๋ฌธ์ ์ฝ๋ ์๋ํฐ ๋ถ๊ฐ ๊ธฐ๋ฅ ์ญํ ๋ก ๋ด๋ ์ถฉ๋ถํ๋ค.
Typescript ํ์ ๋ฌธ๋ฒ
1. ๊ฐ๋จํ ๋ณ์ ํ์ ์ง์ ๊ฐ๋ฅ
let ์ด๋ฆ :string = "kim";
// ์ด ๋ณ์์๋ string(๋ฌธ์) type ๋ง ๋ค์ด์ฌ ์ ์๋ค.
ํ์ ์ผ๋ก๋ string, number, boolean, null, undefined, bigint, [], {} ๋ฑ ๊ฐ๋ฅ
let ์ด๋ฆ :string[] = ['kim', 'park'];
// ํด๋น ๋ณ์์๋ string์ด ๋ด๊ธด array๋ง ๋ค์ด์ฌ ์ ์๋ค.
let ์ด๋ฆ : {name : string} = {name: 'kim'};
// object ํ์ ์ ์ธ ๋ฌธ๋ฒ
// {name? : string} ์ผ๋ก ์ ์ธํด์ฃผ๋ฉด name ์์ฑ์ ์ต์
์ด๋ผ๋ ๋ฌธ๋ฒ
let ์ด๋ฆ : string | number = 'kim';
// ๋ค์ํ ํ์
์ด ๋ค์ด์ฌ ์ ์๊ฒ ํ๋ ค๋ฉด Union Type ์ฌ์ฉ
let ์ด๋ฆ : string | number = 123;
2. ํ์ ์ ๋ณ์์ ๋ด์์๋ ์ฌ์ฉํ ์ ์์. (Type Alias)
type Name = string | number;
let ์ด๋ฆ: Name = 123;
3. ํจ์์๋ ํ์ ์ง์ ์ด ๊ฐ๋ฅํ๋ค.
function ํจ์(x:number) {
return x * 2
}
// return type ๋ ํ์
์ง์ ํด์ฃผ๊ณ ์ถ์ ๋
function ํจ์(x:number) :number {
return x * 2
}
4. array ์ ์ธ ์ ์๋ tuple ํ์
type Member = [number, boolean];
// ๋ฌด์กฐ๊ฑด ์ฒซ๋ฒ์งธ ์ธ์๋ number
// ๋๋ฒ์งธ ์ธ์๋ boolean ์ผ๋ก ์ฃผ์ด์ผ ํ๋ค.
let john:Member = [123, true];
5. if) object ์ ํ์ ์ง์ ํด์ผํ ์์ฑ์ด ๋๋ฌด ๋ง์ผ๋ฉด ?
type Member = {
[key : string] : string,
// ๊ธ์๋ก ๋ ๋ชจ๋ object ์์ฑ์ ํ์
์ string.
};
let john:Member = { name : 'kim' };
6. class ํ์ ์ง์ ๊ฐ๋ฅ
class User {
name: string;
constructor(name : string){
this.name = name;
}
}
// typescript์ ๊ฒฝ์ฐ ๋ณ์๋ฅผ ๋จผ์ ์ง์ ํด์ฃผ์ด์ผ ํ๋ ๋ฑ
// ๋ฌธ๋ฒ์ด ์กฐ๊ธ ๋ค๋ฅธ ์ผ์ด์ค๊ฐ ์์.
์ด๋ฐ ๊ฒ๋ค ์ธ์๋ Typescript ์์๋ง ์ง์ผ์ผํ ์ฝ๋ฉ ๋ฃฐ๋ ์๊ณ , typescript ๋ฌธ๋ฒ ์ธ์ ๊ธฐ๋ฅ๋ ๋ง์.
728x90