๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
ํ”„๋ก ํŠธ์—”๋“œ/TypeScript

TypeScript ์‚ฌ์šฉ ์ด์œ ์™€ ๊ธฐ๋ณธ ํƒ€์ž…

by alswlfl 2023. 1. 3.

ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ: js+type ๋ฌธ๋ฒ•(์—„๊ฒฉํ•œ ํƒ€์ž… ์ฒดํฌ)

→ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—…๊ทธ๋ ˆ์ด๋“œ ์–ธ์–ด(๋ฌธ๋ฒ•์€ ์œ ์‚ฌํ•จ)

[์žฅ์ ]

  • ์—„๊ฒฉํ•œ ํƒ€์ž… ์ฒดํฌ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฌธ์ œ์  ํ•ด๊ฒฐ
  • ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๊ฐ€ ๋ช…ํ™•ํ•จ(์–ด๋””์„œ ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ฒผ๋Š”์ง€, ์˜คํƒ€๊ต์ •)
function sum(a: number, b: number) {
  return a + b;
}

[ํŠน์ง•]

  • ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €๋“ค์€ TS๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์—, TS๋ฅผ JS๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•จ
  • JS(๋™์ ์–ธ์–ด): ๋Ÿฐํƒ€์ž„์— ํƒ€์ž… ๊ฒฐ์ •/์˜ค๋ฅ˜ ๋ฐœ๊ฒฌ
  • TS(์ •์ ์–ธ์–ด): ์ปดํŒŒ์ผ ํƒ€์ž„์— ํƒ€์ž… ๊ฒฐ์ •/์˜ค๋ฅ˜๋ฐœ๊ฒฌ
  • ๋„์ €ํžˆ ๋ฌด์Šจ ํƒ€์ž…์ธ์ง€ ๋ชจ๋ฅด๋Š” ๊ฒฝ์šฐ์—๋Š” any๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ๊ฐ€๊ธ‰์ ์ด๋ฉด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ
  • ํƒ€์ž…๋ช…์‹œ๋ฐฉ๋ฒ•: ๋ณ€์ˆ˜:ํƒ€์ž…

๊ธฐ๋ณธ ํƒ€์ž…

  • ๋ฐฐ์—ด ์‚ฌ์šฉ ์‹œ
function showItem(arr:number[]){
  arr.forEach((item)=>{
    console.log(item);
  });
}

showItem([1,2,3])
  • ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•
let age:number=30;
let isAudlt:boolean=true;
let a:number[]=[1,2,3]
let a2:Array<number>=[1,2,3];

let week1:string[]=['mon','tue','wed'];
let week2:Array<String>=['mon','tue','wed'];
  • ํŠœํ”Œ
let b:[string, number];

b=['z',1]. 
// b=[1,'z'];  ์˜ค๋ฅ˜

b[0].toLowerCase();
// b[1].toLowerCase(); ์˜ค๋ฅ˜
  • void, never
function sayHello():void{
  console.log('hello');
}
//void๋Š” ํ•จ์ˆ˜์—์„œ ์•„๋ฌด๊ฒƒ๋„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ

function showError():never{
  throw new Error();
}

function inFloop():never{
  while(true){
    //do something...
  }
}
// never๋Š” ์—๋Ÿฌ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜ ์˜์›ํžˆ ๋๋‚˜์ง€ ์•Š๋Š” ํ•จ์ˆ˜์—์„œ ์‚ฌ์šฉ
  • enum
// ๋น„์Šทํ•œ ๊ฐ’๋“ค๋ผ๋ฆฌ ๋ฌถ์–ด์คŒ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—๋Š” ์—†๋Š” ํƒ€์ž…
enum Os{
  Window,  
  Ios,
  Android
}
//enum์— ์ˆ˜๋™์œผ๋กœ ๊ฐ’์„ ์ฃผ์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ์ž๋™์œผ๋กœ 0๋ถ€ํ„ฐ ํ• ๋‹น
//enum์— ์ˆซ์ž ์ž…๋ ฅํ•˜๋ฉด ์–‘๋ฐฉํ–ฅ ์ปดํŒŒ์ผ ๊ฐ€๋Šฅ
//enum์— ๋ฌธ์žํ˜•์„ ์ž…๋ ฅํ•˜๋ฉด ๋‹จ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์ปดํŒŒ์ผ ๊ฐ€๋Šฅ
//ํŠน์ • ๊ฐ’๋งŒ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐ•์กฐํ•˜๊ณ  ์‹ถ์„ ๊ฒฝ์šฐ ์‚ฌ์šฉ
  • null, undefined
let a:null=null;
let b:undefined=undefined;

'ํ”„๋ก ํŠธ์—”๋“œ > TypeScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์ œ๋„ค๋ฆญ  (0) 2023.01.03
ํด๋ž˜์Šค  (0) 2023.01.03
๋ฆฌํ„ฐ๋Ÿด, ์œ ๋‹ˆ์˜จ/๊ต์ฐจ ํƒ€์ž…  (0) 2023.01.03
ํ•จ์ˆ˜  (0) 2023.01.03
์ธํ„ฐํŽ˜์ด์Šค  (0) 2023.01.03