
javascript 기반으로 하되 확장된 언어
npm install typescript를 입력하여 설치npx tsc 파일이름//숫자
let age:number;
age=12;
age="12";//오류
//문자열
let name:string;
name="smd";
//boolean
let isOn:boolean;
isOn=true;
let hi:null;
hi=12;//오류//배열
let hobbies: string[]; //number[], boolean[] 등
hobbies = ["Sports", "Cookes"];
//어떤거든
let on;//=let on:any;
//객체타입
let me:{
name:string,
age:number
};
me={
name:"눙",
age:12
};
//타입지정배열
let me:{
name:string,
age:number
}[];유형추론(Type inference)
let name="hi"
name=12//오류 =>string인걸로 추론해서 오류가 뜸
유니온 유형: 여러 유형 지정 가능
let info:string | number;
info="hi";
info=12;
타입 별칭(Type Alias): 반복되는 타입 지정을 별칭으로 지정 가능
type 별칭= 유형
type Type = {
name: string;
age: number;
};
let me: Type;
let you: Type[];
함수와 타입
function add(a: number, b: number) {
//반환값을 number라고 추정
//add(a: number, b: number):number 라고 명시도 가능
return a + b;
}
function add(a:any) {
//void라는 함수 반환타입으로 뜨며 반환값이 없다는 뜻
console.log(a);
}
function bb<T>(array:T[],value:T){
//배열안의 값들과 value가 같은 타입이라는 것을 알려줌
const newArray=[value,...array ]
return newArray
}
const onearray = [1, 2, 3];
const twoArray = bb(onearray, 2);
const threeArray=bb(onearray,"2");//타입이 다르므로 오류