// 타입 어노테이션
let numValue: number; // 기존의 원시형타입
let stringValue: string; // 기존의 원시형타입
let boolenValue: boolean; // 기존의 원시형타입
let undefinedValue: undefined; // 기존의 원시형타입
let nullValue: null; // 기존의 원시형타입
let objValue: object; // 객체 레퍼런스타입
let symbolValue: symbol; // ES6형의 원시형타입
let anyValue: any; // 모든 타입의 상위 타입
numValue = 3.3;
stringValue = 'hello';
stringValue = "hello";
//백틱 사용하면 멀티라인이 표현가능
//스트링 인터폴레이션(String interplation)사용 가능
stringValue = `
hello
${1+1}
`;
boolenValue = true;
undefinedValue = null;
anyValue = 1;
anyValue = "1";
anyValue = null;
anyValue = {};
objValue = {name:'jay'};
objValue = { };
objValue = new String(33); // 형변환이 아닌 String객체로 인식
symbolValue = Symbol();
// 배열 타입어노테이션
let nameList: string[];
nameList = ["1", "3"];
nameList.push("333");
// 인라인 타입 - 반복적이나 재사용성이 용이 하지않음
// user2: { name: string, score: number } 매번 정의해줘야하기때문
// 재사용되는 타입은 타입앨리어스나 클래스 또는 인터페이스 사용
let user1: { name: string, score: number };
user1 = {
name: 'jay',
score: 30
}
let tuple2: [number, string];
let tuple3: [number, number, number];
tuple2 = [1, "hello"];
tuple3 = [1,2,3];
댓글