타입스크립트는 자바스크립트에 타입을 부여한 언어로,
자바스크립트의 확장된 언어이다.
(마이크로소프트(MS)에서 개발한 오픈소스 프로그래밍 언어)
5-'3'도 가능한 자바스크립트
? ->> 다이나믹 타이핑이 가능하기 때문임. 원래는 숫자-숫자만 가능한데 자스는 이걸 알아서 숫자로 바꿔줌.
허나, 타입스크립트는 타입을 엄격히 검사해주기 때문에,
위 예시 상황일 경우 5-'3'코드에서 ts 에러가 발생한다.
콘솔에 뜨는 에러메세지가 훨씬 간결하고 구체적이라서 어떤것이 문제인지 단번에 파악하기 쉬움.
ts파일은 브라우저에서 인식 못하기 때문에 js파일로 변환해서 사용 가능함 => 터미널을 킨 후에 tsc -w 를 입력하면 자동으로 변환됨.
string, number, boolean, null, undefined, bigint, "[]", {} 등
1) let 이름(변수):string = 'kim';
2) let 이름(변수):string[] = ['kim', 'park']; <= 이 변수에는 string(문자) 담긴 array(배열)만 들어올 수 있다는 의미
3) let 이름(변수):{name:string}={name:'kim'} <= object 타입 지정
예시)
let 이름(변수):string | number = 'kim'
// | (or의미)기호를 사용
예시)
type Name=string[] | number;
// 작명할 때 보통 대문자로 많이 함.
let Name:내타입=123;
예시)
function 함수(x:number):number{
return x*2
}
위 함수는 파라미터로 number,return 값으로 Number로 타입 지정
예시)
type Member = [number, boolean];
// 무조건 첫째는 number, 둘째는 boolean으로 지정
let john:Member = []
예시)
type Member ={
[key:string]:string,
//모든 오브젝트 속성들이 글자로 된 모든 오브젝트 속성의 타입은 :string이라는 의미
}
let john:Member={ name:'kim', age:'123'}
예시)
class User{
name: string;
constructor(name:string){
this.name=name;
}
}