const num: number = -6;
const str: string = 'hello';
const boal: boolean = false;
const boal: boolean = true;
undefined : 비어져 있는지도 모르는
null : 텅텅 비어져 있는
let name: undefined; // ❌
let age: number | undefined; // 보편적으로 null보다 undefined가 많이 사용 : 데이터 타입이 있거나 없거나
age = undefined;
age = 1;
let person: null; // ❌
let person2: string | null;
무슨 타입이 들어올지 몰라
let notSure: unknown = 0;
notSure = 'he';
notSure = true;
어떤 타입도 할당될 수 있음을 의미, 사실상 자바스크립트와 동일
가급적 활용하면 안되지만 라이브러리, 프레임워크 등 자바스크립트로 되어 있는 경우에는 제한적으로 활용
let age:any = 1;
age = "1"
age = null;
age = undefined;
age = [];
age = {};
age = false;
아무것도 return 하지 않을 때 사용
function print() : void {
console.log('hello') // 아무런 값도 return 하지 않음!
}
let unusable: void = undefined; // ❌ 보통 변수에 선언하지 않음! 선언해도 값은 오로직 undefined만 가능
절대 return 할 수 없다
function throwError(message: strung) : never {
thrrow new Error(message);
while (true) {}
}
let neverEnding: never; // ❌
원시타입을 제외한 어떤 타입의 데이터를 다 담을 수 있다 (배열, 객체)
let obj: object; // ❌
function acceptSomeObject(obj: object) {}
acceptSomeObject({ name: 'sumin' });
acceptSomeObject({ animal: 'dog' });
보통은 이런식으로 객체 타입을 지정
const point: {x:number, y:number} = {x:1, y:1};
const point: {x:number, y:number} = {x:1}; // y 프로퍼티가 없음, 에러