ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Typescript - 변수 선언
    Front-end/Typesrcipt 2023. 4. 11. 16:11
    728x90
    반응형

    Typescript 변수 선언

    Typescript 변수에 타입을 지정할 수 있다.

     

    let myName: string = '내 이름'; // string 타입
    let myAge: number = 3; // number 타입
    let myboolean: boolean = true; // boolean 타입
    let myNull: null = null; // null 타입
    let myUndefined: undefined = undefined; // undefined 타입
    let myStrArr: string[] = ['1', '2', '3']; // 문자열 배열 타입
    let myNumArr: number[] = [1, 2, 3]; // 숫자열 배열 타입
    let myObject: { name: string } = { name: 'zelord' }; // 오브젝트 타입
    let myObject2: { name?: string } = { }; // ? 는 name속성이 들어올수있거나 없다.
    let myUnion: string | number = 13; // 두가지의 타입이 들어 올 수 있다 (union type)

     

    타입의 종류는 string, number, boolean, null, [], {}, bigint 등이 있다.

    타입을 한번 선언하면 그의 맞는 값들이 들어가야한다.

     

    배열에 타입을 선언할때 숫자만 또는 문자만 들어올 수 있도록 타입을 선언할 수 있다.

     

     

    Union Type 선언

    Union Type이란 두 타입을 허용 할 수있도록 선언한다.

    let myUnion: string | number = 13; // 숫자 타입 허용
    myUnion = "13"; // 문자 타입 허용

     

    배열에 여러가지 타입이 들어올 수 있도록 하려면 union type을 선언하여 사용 할 수 있다.

    let myUnionArr: (string | number)[] = [1, '2', 3] // 문자, 숫자 타입사용이 가능하다.

     

     

    반응형

     

     

    Type Alias 선언

    Type alias란 타입을 변수에 담아서 사용 할 수 있다.

     

    type MyType = string | number;	// 타입변수 선언 시 대분자 사용
    let editType: MyType; = 902; // 타입변수를 사용하여 변수를 선언 할 수 있다.

     

     

    Function Type 선언

    Function(함수)에 타입을 선언 할 수 있다.

     

    function myFn(x: number): number { // x: number = 파라미터 타입 선언
        return x * x;	// function(): number = return 타입 선언
    }	// 타입을 파라미터로 number, 리턴값으로 number 선언
    
    myFn('123') // 에러 발생
    
    
    // return 이 없을 시 :void 로 선언한다.

     

     

    Tuple Type 선언

    Tuple Type이란 배열의 서브타입이다.

    각 배열의 인덱스 마다 타입을 설정 해 줄수있다.

    tuple type은 불변구조이기때문에 readonly 키워드를 명시적으로 붙여준다.

     

    type TupleType = readonly [number, string, boolean]; // 0번째: number, 1번째: string 2번째: boolean
    let tupleArr:TupleType = [1, '2', false];
    
    tupleArr = [2, 3, true];	// 1번째 인덱스에서 숫자가 들어가서 에러

     

     

    Object Type 선언

    Object tyoe 선언은 key에 맞는 value를 선언해야한다.

    let myObject: {
        name: string,	// name 이라는 속성에는 string타입
        age: number,	// age 라는 속성에는 number
    } = {
        name: 'zelord',
        age: 20,
    };

     

    각각의 속성에 따라 타입을 선언해 줄수있지만 속성이 많을경우 한번에 선언해 줄 수 있다.

    type MyObjType = {
        [key: string]: string,	// 모든 속성타입을 string으로 선언
    }
    
    let myObject: MyObjType= { // 모든 속성들의 값이 string으로 들어가야한다.
        name: 'zelord',
        age: '23',
        job: 'front-end',
    };

     

     

    Class Type 선언

    Class 선언 문법은 자바스크립트와 똑같지만 타입선언만 해주면된다.

    class Info {
        name: string;	// 변수 name에 string 타입선언
        age: number;	// 변수 age에 number 타입선언
        constructor(name: string, age: number){ // 각각 파라미터에 타입을 선언한다.
            this.name = name;
            this.age = age;
        }
    }

     

    728x90
    반응형

    'Front-end > Typesrcipt' 카테고리의 다른 글

    Typescript - Narrowing & Assertion  (0) 2023.04.12
    Typescript - function parameter, return  (0) 2023.04.12
    Tyepscript - Union, any, unknown  (0) 2023.04.12
    Typescript - Primitive Types  (0) 2023.04.12
    Typescript - 설치 및 셋팅  (0) 2023.04.11
Designed by Tistory.