반응형
📝any
어떤 유형이든 들어갈 수 있는 타입이다 특정한 경우 외에는 타입스크립트의 존재의의와 반발하기 때문에 추천하지 않는다
📝No Implicit Any
유형을 지정하지 않고 TypeScript가 컨텍스트에서 유형을 유추할 수 없는 경우 컴파일러는 일반적으로 any로 둔다 하지만 일반적으로 는 유형 검사가 되지 않으므로 타입스크립트에서는 No Implicit Any를 일으켜서 오류를 일으킵니다
📝Strict Null Checks
Null과 Undefined에 대해서 에러를 체크해 표시합니다
📝 논리, 문자, 숫자, 배열, 튜플, Enum
/** ---- 숫자 및 문자 ---- **/
function add(num1: number, num2: number) {
console.log(num1 + num2);
}
add(5,10); // ✅️ 정상 동작
add(5,"뮤"); // 에러 발생 (semantic)
/** ---- 배열 ---- **/
function showItem(arr: number[]) {
arr.forEach((item) => {
console.log(item);
})
}
showItem([1,3,5]); // ✅️ 정상 동작
// showItem(); // 에러 발생 (compile)
// showItem(["hello"); // 에러 발생 (semantic)
/** ---- 튜플 ---- **/
let b:[string, number];
b = ['z', 1]; // ✅️ 정상 동작
// b = ['z', 1]; // 에러 발생 (semantic)
console.log(b);
/** ---- enum ---- **/
enum Os {
Window = 'win',
Ios = 'ios',
Android = 'and'
}
let myOs :Os;
myOs = Os.Window;
console.log(myOs); // ✅️ 정상 동작
myOs = "str window"; // 에러 발생 (semantic)
/** ---- enum (2) ---- **/
enum Enum {
A,
}
let a = Enum.A;
let nameOfA = Enum[a]; // "A"
/**
* -- 타입 체크 방법
* 논리 : boolean
* 문자 : string
* 숫자 : number
* 문자 배열 : string[] = Array<string>
* 숫자 배열 : number[] = Array<number>
* 튜플 : [string, number]
* void : void
* Error or Never End : never
* undefined : undefined
* null : null
* enum : enum
* 등 ...
*/
🔗 참고 및 출처
https://www.typescriptlang.org/docs/handbook/2/basic-types.html
반응형