ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (TypeScript) - TypeScript 기본 타입
    개발/TypeScript 2025. 8. 18. 14:18
    반응형

    ■ TypeScript 기본 타입

     

    타입스크립트가 제공하는 기본 타입을 계층 구조로 나타내었다.

    우리가 기본적으로 알고 있는 number, string 과 같은 기본 타입도 있지만

    타입스크립트에서만 사용하는 기본 타입도 보인다.

     

    ■ 원시타입

     

    : 동시에 하나의 값만 저장할 수 있는 타입을 말한다.

    그 종류에는 number, string, boolean, null, undefined 그리고 리터럴 타입이 있다. 

     

    • number

     

    타입스크립트는 변수 이름 뒤에 콜론을 쓰고 타입을 작성해서 변수 타입을 지정할 수 있는데,

    이런 문법을 [타입 주석] 또는 [타입 어노테이션] 이라고 한다.

     

     

    number 타입은 다음과 같다.

    양수, 음수, Infinity, 음수 Infinity, NaN(Not a Number) 로 되어 있다.  

    따라서 다음과 같이 number 타입과 일치하지 않는 'hello' 인 경우에 바로 코드 상에서 오류로 띄워준다. 

     

     

    숫자에서 사용 가능한 toFixed() 메서드는 오류가 안뜨지만,

    String에서 사용 가능한 toUpperCase() 메서드는 오류가 난다.

     

    • string
    // string
    let str1: string = 'hello';
    let str2: string = 'hello';
    let str3: string = `hello`;
    let str4: string = `hello ${num1}`;
    
    str1.toUpperCase();

     

    string 은 작은 따옴표, 큰 따옴표, 리터럴까지 포함한다.

     

    • boolean
    // boolean
    let bool1: boolean = true;
    let boo12: boolean = false;

     

    • null
    // null
    let null1: null = null;

     

    • undefined
    // undefined
    let unde1: undefined = undefined;

     

    • 리터럴 타입
    // 리터럴 타입
    // 리터럴 -> 값
    let numA: 10 = 10;
    let strA: 'hello' = 'hello';
    
    strA = 'hi'; //오류 발생!

     

    타입스크립트에서 독특한 게 리터럴 타입이다.

    리터럴 타입은 변수 타입을 값 그 자체로 정의한다.

     

    즉 다음과 같이 숫자 strA 을 하나의 타입으로 지정하고 해당 변수에는 'hello '그 값만 할당이 가능한 것이다.

    따라사 strA를 hi 로 할당했기 때문에 오류가 나는 것이다.

     

    정리하자면 원시타입 중에 포함되는 값 중에 하나를 마치 타입인 것처럼 정의해서 사용이 가능한 것이다.

     

    ※ strictNullChecks (원시 타입 null 할당하고 싶을 때)

    let numA: number = null;

     

    다음 코드와 같이 number로 타입이 정해진 곳에 우선적으로 null 을 할당해야 할 케이스가 있을 수 있다.

    하지만 number 는 숫자만 할당 하므로 이 코드를 작성할 경우 오류가 발생한다.

     

            "strictNullChecks": false,

     

    그럴 경우에는 tsconfig.json 에서

    strictNullChecks 를 false 로 설정하면 된다.

    이러면 원시형 Type 에도 임시로 null 값 설정할 수 있다.

     

    따라서 null 로 넣을 값이 많다면 strictNullChecks 꺼주고,

    엄격하게 관리하고자 한다면 true 로 바꿔주면 된다.

     

            "strict": true,
            "strictNullChecks": false,

     

    strict 가 strictNullChecks 의 상위 옵션이다.

    따라서 strict 가 켜져있으면 기본적으로 strictNullChecks 가 켜져 있게 된다.

    반응형
Designed by Tistory.