let helloText: string = 'hello';
//helloText = true; //에러발생
=> helloText는 string값만 넣을 수 있다. 만약 true인 불리언값을 넣으면 에러가 발생한다.
JS에서 사용하면 데이터 타입을 선언해서 사용해보자
const stringVar: string = 'String'; // 소문자를 써줘야함
const numberVar : number = 3;
const bigIntVar: bigint = BigInt(999999); // 처음 에러가 발생하였는데 "target": "es2020" 바꿔준다.
const booleanVar : boolean = true;
const symbolVar: symbol = Symbol(1);
const nullVar : null = null;
const undefinedVar:undefined = undefined;
여기서 주의해야 할 사항은 타입을 선언할 때 소문자를 써줘야 한다는 것이다.
만약 string 타입을 선언하고 싶다고 String을 쓰면 안된다는 것이다.
이렇게 타입을 선언하면 해당 타입만 할당할 수 있고
다른 타입을 할당하면 에러가 발생한다.
TS에서 사용하는 데이터 타입을 선언해보자
// any - 아무 타입이나 입력 할 수 있는 치트키같은 타입 => any를 많이 사용하면 ts를 사용할 이유가 없음
let anyVar: any;
anyVar = 100;
anyVar = '코드팩토리';
anyVar = true;
let testNumber: number = anyVar;
let testString: string = anyVar;
let testBoolean: boolean = anyVar;
// unknown - 알 수 없는 타입 모든 타입을 해당 변수에 입력을 할 수 있지만 다른 변수에다가 할당할 때 에러가 발생한다.
let unkownType: unknown;
unkownType = 100;
unkownType = '코드팩토리';
unkownType = true;
// let testNumber2: number = unkownType; //error
// let testString2: string = unkownType; //error
// let testBoolean2: boolean = unkownType; //error
let unkownType2 : unknown = unkownType; //success
let anyType2 : unknown = unkownType; //success
//never -어떠한 값도 저장되거나 반환되지 않을 때 사용하는 타입
// let neverType:never = null;
// let neverType:never = undefined;
// let neverType:never = 'test';
크게 any, unknown, never타입이 있다.
any는 말 그대로 모든 타입을 넣을 수 있다. any를 많이 쓰면 TS 쓰는 이유가 사라지기 때문에 쓰지 않는 것이 좋아 보인다.
unknown도 모든 타입을 넣을 수 있다. 하지만 any와 다르게 다른 변수에다가 할당 할 순 없다.
never은 어떤한 타입도 저장되지 않는다. 문자열, 불리안, 숫자 어떠한 것도 저장할 수 없다.
/**
* 리스트 타입
*/
const koreanGirlGroup : string[] = [
'아이브',
'레드벨벳',
'블랙핑크',
//1,
//true,
//null
];
const booleanList : boolean[] = [
true,
false,
true
//1,
//true,
//null
];
리스트 타입도 마찬가지로 타입 대괄호를 사용하면 된다.
tsc명령어를 터미널에 입력하면 ts파일이 js로 변환된다.