JavaScript에 타입을 부여한 언어로 JavaScript의 확장된 언어입니다. MicroSoft에 의해서 개발 및 관리되고 있는 오픈 소스 프로그래밍 언어로 대규모 애플리케이션을 개발하는데 JavaScript가 어렵고 불편하다는 불만에 대응하기 위해서 개발되었습니다.
5 - 3을 해야 2가 나와야 하는데 JavaScript에서는 5 - '3'을 해도 2가 나옵니다.
그 이유는 JavaScript는 Dynamic Typing이 가능한 언어이기 때문에 문자를 숫자로 자동 바꿈을 해주기 때문입니다. JavaScript가 동적으로 바꿔준다는 점은 편리하지만 규모가 큰 프로젝트에서는 단점일 뿐입니다.
JavaScript의 에러 메세지는 추상적인 반면 TypeScript는 엄격하게 타입을 체크하는 것을 알아서 해주기 때문에 에러 메세지가 정확해집니다. 그래서 TypeScript는 코드 에디터 부가기능 역할로 볼 수 있습니다.
TypeScript에 대해 알아보았으니 본격적으로 TypeScript를 설치하고 세팅하여 시작해 보겠습니다.

=> ts 파일 안에서 짠 코드는 브라우저에서 인식을 하지 못 합니다. 브라우저는 무조건 JavaScript 파일만 읽을 수 있으므로 ts 파일을 js로 변환해야 사용이 가능합니다.
ts를 js로 변환하는 방법
- 터미널 창에 tsc -w 입력해 두면 자동 변환
타입 명칭으로 들어갈 수 있는 것들에는 string, number, boolean, null, undefine,
let 이름 : string = 'kim'
let 이름 : string[] = [ 'kim', 'park' ]
let 이름 : { name : string } = { name: "kim" }
let 이름 : string | number = 'kim'
Type alias
type Mytype = string | number
let 이름 : Mytype = 123
function 함수(x : string) : number {
return x * 2
}
array에 사용할 수 있는 것을 의미합니다.
type Member = [ number, boolean ]
let john : Member = [ 123, true ]
type Member = {
name : string,
age : string,
}
이렇게 속성을 하나하나 지정할 필요 없이 밑에 방식으로 사용할 수 있습니다.
type Member = {
[ key : string ] : string,
}
let john : Member = { name : 'kim', age : '123' }
class User {
name : string
constructor(name : string) {
this.name = name
}
}