자바스크립트 위에서 돌아가는 것.
둘이 다른 언어가 아니라, 자바스크립트의 플러스 알파라고 생각하면 된다.
개발자의 실수를 줄여주는것.
let name :string = 'kim' //( 이런식으로 간단한 변수 타입 지정 가능)
const plus = (a:number, b:number) => a + b; // 함수 구현의 예
let name :string[] = ['kim' , 'park'] //(리스트 안에 들어갈 변수타입 지정)
//오브젝트 안에 들어갈 타입 지정. name 이라는 이름엔 스트링만 들어가고, 들어갈지 안들어갈지는 모름.
let bame :{name? : String} = {name: 'kim'}
//문자 혹은 숫자가 들어가는 유니온 타입 변수 지정
let 이름 :string | number = "123" or "kim"
// 변수 만들어서 지정 가능
type MyType = String | name;
let 이름 :Name = "123"
// 함수도 파라미터 값 지정 가능
fuction myFuc(x :number) :number {
return x*2
}
// ---> 이 함수는 무조건 number만 들어가고, number 만 리턴된다.
//무조건 첫째는 Number, 둘째는 boolean (array에 쓸 수 있는 튜플 타입)
type Member = [number, boolean];
let john:Member = [123, true]
//글자로 된 모든 object 속성의 타입은 string 이다.
type Member = {
[key :string] : string
}
let john :Member = {name: 'kim', age: '123' }
//클래스 타입 지정
class User {
name :string;
constrctor(name :string) {
this.name = name;
}
}