반응형

📝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

반응형