유혁의 개발 스토리

[TypeScript] 1. TypeScript 란? 본문

TypeScript

[TypeScript] 1. TypeScript 란?

유혁. 2022. 5. 30. 17:40

1. TypeScript 란? 

 

 

 : MS에 의해 개발된 오픈소스 프로그래밍 언어로, 기존 JavaScript에 Type System을 붙혀서 확장한 언어입니다.

   TypeScript = JavaScript + TypeSystem

  .ts 파일로 만들며, TypeScript 컴파일러(tsc)를 통해 JavaScript로 변환되고 실행됩니다.

  .ts > tsc Complier > .js > node.js로 컴파일된 .js파일실행

 

 

 

2. JavaScript, TypeScript 비교

 

* JavaScript

function add(n1, n2) {
	return n1 + n2;
}

console.log(add('1','2'));

*TypeScript

function add(n1: number, n2: number): number{
	return n1 + n2;
}

console.log(add('1', '2')); //error

변수나 매개변수에 타입을 명시.

 

* Annotation 종류

-- Type Annotation
let year : number = 2020;

-- Parameter Annotation
function sumNumbers(firstNum: number , secondNum: number) {
	return firstNum + secondNum;
}

-- Result Type Annotation
function sumNumbers(firstNum: number , secondNum: number) : number {
	return firstNum + secondNum;
}

Type Annotation : 변수 선언부에 타입 명시

Parameter Annotation : 함수 파라미터에 타입 명시

Result Type Annotation : 함수 파라미터 반환값에 타입명시

 

 

 

3. Type Interface 

타입을 명시하지 않고 대입하는 값을 통해 타입을 유추함.

변수의 선언과 대입을 다른 코드라인에서 진행하면 해당 변수는 any타입의 변수가 됨.

let name = 'Yoo';   // let name: string
let age = '32';     // let age: number

값을 통해 타입을 유추하여 설정해줌

 

let name;			// let name: any
name = 'Yoo';

let age;			// let age: any
age = 20;

 

변수 선언과 값 할당을 다른 코드라인에서 진행한다면, any타입의 변수가 된다. 

any 타입 : 어떤 타입이든 올 수 있다는 것을 의미. (프로그램 안정성을 떨어뜨리게 됨)

 

'TypeScript' 카테고리의 다른 글

[TypeScript] 2. 개발환경 세팅  (0) 2022.05.30