let name :string = 'kim';
// 이 변수에는 string 타입만 들어올수 있다.
let name = 123
// name에는 string만 작성할 수 있게 선언하였기때문에 에러가 발생된다.
let name : string[] = ['kim', 'lee']
// 이변수에는 string만 담긴 array만 들어올 수 있다.
let name : {name : string} = {name :'kim'}
//object 타입 지정
let name : {name? : string} = { }
// 에러를 발생시키지 않는다.
let name :string | number = 'kim';
// string 또는 number type이 쓰일수 있다.
type Newtype = string | number;
let name:Newtype = 123;
변수에 타입을 담아주는경우 다른것과 구분되기쉽게 앞에 대문자로 작성
function name(x : number) : number{
return x * 2
}
// 이 함수는 파라미터에는 무조건 number, return값으로도 number가 나와야한다.
파라미터 값에도 타입을 지정 해 줄수 있으며 리턴이후 갑에대한 타입지정은 파라미터 뒤에 ':타입'을 지정해서 사용할 수 있다.
type Member = [number, boolean];
// 해당 타입변수 배열의 첫번째는 number, 두번째는 boolean 타입이 들어와야한다.
let john:Member = [123, true]
Member 타입변수에 지정한 순서대로 number, boolean값이 사용되야 에러가 발생되지 않는다.
type Member = {
[key:string] : string,
}
let john : Member = {name : 'kim', age: '123'}
위 타입 변수명을 해석해 보자면, '글자로 된 모든 object 속성의 type은 : string'이라고 이해 할 수 있다.