TypeScript 데이터 형식 - TS 학습 노트 (1)

6805 단어
소개 하 다.
ts 는 거의 js 의 모든 데이터 형식 을 지원 하고 우리 가 사용 하기에 편리 하도록 확장 했다.
  • 불 값 (boolean) 은 다른 언어 와 마찬가지 로 true / false
    let isDone:boolean=false;
    
  • 숫자 (number) 는 js 와 마찬가지 로 모든 숫자 는 부동 소수점 이다. 이런 부동 소수점 의 유형 은 2, 10, 16, 8 진 글자 의 양
    let decLiteral: number = 6;
    let hexLiteral: number = 0xf00d;
    let binaryLiteral: number = 0b1010;
    let octalLiteral: number = 0o744; 
    
  • 을 지원 한다.
  • 문자열 은 다른 언어 와 마찬가지 로 string 을 사용 하여 텍스트 데이터 형식 을 표시 하고 js 와 마찬가지 로 작은 따옴표 나 작은 따옴표 로 문자열
    let name:string ='bob'
    name='smith';
    
  • 을 표시 할 수 있 습 니 다.
    여러 줄 의 텍스트 와 내장 표현 식 을 정의 할 수 있 는 모드 문자열 도 사용 할 수 있 습 니 다.이 문자열 은 작은 따옴표 로 둘러싸 여 있 으 며, ${expr} 형식 으로 표현 식 을 삽입 합 니 다.
        let name: string = `Gene`;
        let age: number = 37;
        let sentence: string = `Hello, my name is ${ name }.
    
        I'll be ${ age + 1 } years old next month.`;
    

    이것 은 아래 에서 sentence 를 정의 하 는 방식 과 효과 가 같 습 니 다.
        let sentence: string = "Hello, my name is " + name + ".

    " + "I'll be " + (age + 1) + " years old next month.";
  • 배열 ([]) TypeScript 는 자바 script 처럼 배열 요 소 를 조작 할 수 있 습 니 다.배열 을 정의 할 수 있 는 두 가지 방법 이 있다.첫 번 째 는 요소 유형 뒤에 [] 를 연결 하여 이 유형의 요소 로 구 성 된 배열 을 나타 낸다.
    let list: number[] = [1, 2, 3];
    
  • 두 번 째 방식 은 배열 의 범 형, Array 를 사용 하 는 것 입 니 다.
    let list: Array = [1, 2, 3];
    
  • 원조
  • 원 그룹 형식 은 이미 알 고 있 는 요소 의 수량 과 유형 을 나타 내 는 배열 을 허용 합 니 다. 각 요소 의 유형 은 같 지 않 습 니 다.예 를 들 어 string 과 number 형식의 원 그룹 을 정의 할 수 있 습 니 다.
    // Declare a tuple type
    let x: [string, number];
    // Initialize it
    x = ['hello', 10]; // OK
    // Initialize it incorrectly
    x = [10, 'hello']; // Error
    

    알 고 있 는 색인 요소 에 접근 하면 정확 한 형식 을 얻 을 수 있 습 니 다:
    console.log(x[0].substr(1)); // OK
    console.log(x[1].substr(1)); // Error, x[1]      ,  substr  
    

    크로스 오 버 요소 에 접근 하면 연합 형식 으로 대 체 됩 니 다.
    x[3] = 'world'; // OK,         (string | number)  
    
    console.log(x[5].toString()); // OK, 'string'   'number'    toString
    
    x[6] = true; // Error,     (string | number)  
    
  • 매 거 진
  • enum 형식 은 자 바스 크 립 트 표준 데이터 형식 에 대한 보충 입 니 다.JAVA 등 다른 언어 처럼 매 거 진 형식 을 사용 하면 한 그룹의 수치 에 우호 적 인 이름 을 부여 할 수 있 습 니 다.
    enum Color {Red, Green, Blue};
    let c: Color = Color.Green;
    

    기본적으로 0 부터 요소 번호 입 니 다.너 도 수 동 으로 구성원 의 수 치 를 지정 할 수 있다.예 를 들 어 우 리 는 위의 예 를 1 부터 번호 로 바 꾸 었 다.
    enum Color {Red = 1, Green, Blue};
    let c: Color = Color.Green;
    

    또는 모두 수 동 할당 을 사용 합 니 다:
    enum Color {Red = 1, Green = 2, Blue = 4};
    let c: Color = Color.Green;
    

    매 거 유형 이 제공 하 는 편리 함 은 매 거 진 가치 가 있 는 이름 이다.예 를 들 어 우 리 는 수치 가 2 인 것 을 알 지만 Color 에 비 친 이름 이 무엇 인지 확실 하지 않 습 니 다. 우 리 는 해당 하 는 이름 을 찾 을 수 있 습 니 다.
    enum Color {Red = 1, Green, Blue};
    let colorName: string = Color[2];
    
    alert(colorName);
    
  • 임 의 값 은 프로 그래 밍 단계 에서 유형 을 잘 모 르 는 변 수 를 위해 유형 을 지정 하려 고 할 때 가 있 습 니 다.이 값 들 은 사용자 입력 이나 제3자 코드 라 이브 러 리 등 동적 인 내용 에서 나 올 수 있 습 니 다.이런 상황 에서 우 리 는 유형 검사 기 가 이 값 들 을 검사 하 는 것 이 아니 라 컴 파일 단계 의 검 사 를 통 해 직접 검사 하 는 것 을 원 하지 않 는 다.그러면 우 리 는 any 형식 으로 이러한 변 수 를 표시 할 수 있 습 니 다.
    let notSure: any = 4;
    notSure = "maybe a string instead";
    notSure = false; // okay, definitely a boolean
    
    기 존 코드 를 바 꿀 때 any 형식 은 매우 유용 합 니 다. 컴 파일 할 때 선택 적 으로 포함 하거나 제거 할 수 있 습 니 다.다른 언어 에서 처럼 Object 가 비슷 한 역할 을 한다 고 생각 할 수도 있 습 니 다.그러나 Object 형식의 변 수 는 임의의 값 을 부여 할 수 있 을 뿐 입 니 다. - 하지만 그 위 에 임의의 방법 을 사용 할 수 없습니다. 설령 이러한 방법 이 있다 하 더 라 도:
    let notSure: any = 4;
    notSure.ifItExists(); // okay, ifItExists might exist at runtime
    notSure.toFixed(); // okay, toFixed exists (but the compiler doesn't check)
    
    let prettySure: Object = 4;
    prettySure.toFixed(); // Error: Property 'toFixed' doesn't exist on type 'Object'.
    
  • 일부 데이터 의 유형 만 알 고 있 을 때 any 형식 도 유용 합 니 다.예 를 들 어, 당신 은 하나의 배열 을 가지 고 있 습 니 다. 그것 은 서로 다른 유형의 데 이 터 를 포함 하고 있 습 니 다.
        let list: any[] = [1, true, "free"];
    
        list[1] = 100;
    
  • 빈 값 은 어느 정도 에 void 형식 은 any 형식 과 반대 되 고 유형 이 없다 는 것 을 나타 낸다.함수 가 값 을 되 돌려 주지 않 았 을 때, 반환 값 형식 이 void 인 것 을 볼 수 있 습 니 다.
    function warnUser(): void {
        alert("This is my warning message");
    }
    
    void 형식의 변 수 는 큰 도움 이 되 지 않 습 니 다. undefined 와 null:
    let unusable: void = undefined;
    
  • 만 부여 할 수 있 기 때 문 입 니 다.
  • Null 과 Undefined
  • TypeScript 에서 undefined 와 null 은 각각 자신의 유형 을 가지 고 있 는데 각각 undefined 와 null 이 라 고 합 니 다.void 와 비슷 합 니 다. 그 자체 의 유형 은 큰 도움 이 되 지 않 습 니 다.
    // Not much else we can assign to these variables!
    let u: undefined = undefined;
    let n: null = null;
    

    기본적으로 null 과 undefined 는 모든 종류의 하위 형식 입 니 다.number 형식의 변수 에 null 과 undefined 를 할당 할 수 있다 는 뜻 입 니 다.
    그러나, 지정 한 – strictNull Checks 태그, null 과 undefined 는 void 와 그들 각자 에 게 만 값 을 부여 할 수 있 습 니 다.이것 은 흔히 볼 수 있 는 많은 문 제 를 피 할 수 있다.어 딘 가 에 string 이나 null 또는 undefined 를 입력 하고 싶 을 수도 있 습 니 다. 연합 형식 string | null | undefined 를 사용 할 수 있 습 니 다.
  • Never

  • never 형식 은 영원히 존재 하지 않 는 값 의 유형 을 나타 낸다.예 를 들 어 never 형식 은 항상 이상 을 던 지 거나 반환 값 이 전혀 없 는 함수 표현 식 이나 화살표 함수 표현 식 의 반환 값 형식 입 니 다.변 수 는 never 형식 일 수도 있 습 니 다. 실제 형식 보호 에 제약 을 받 지 않 을 때.
    never 형식 은 모든 유형의 하위 형식 이 고 모든 유형 에 값 을 부여 할 수 있 습 니 다.그러나, never 의 하위 형식 이나 never 형식 에 값 을 부여 할 수 있 는 형식 은 없습니다 (never 자 체 를 제외 하고).any 도 never 에 값 을 부여 할 수 없습니다.
    다음은 never 형식 을 되 돌려 주 는 함수 입 니 다:
    //   never              
    function error(message: string): never {
        throw new Error(message);
    }
    
    //          never
    function fail() {
        return error("Something failed");
    }
    
    //   never              
    function infiniteLoop(): never {
        while (true) {
        }
    }
    

    - 유형 단언
    때때로 당신 은 이러한 상황 을 만 날 수 있 습 니 다. 당신 은 TypeScript 보다 어떤 값 의 상세 한 정 보 를 더 잘 알 게 될 것 입 니 다.일반적으로 이것 은 하나의 실체 가 기 존의 유형 보다 더 정확 한 유형 을 가지 고 있다 는 것 을 잘 알 고 있다.
    유형 단언 을 통 해 이런 방식 으로 컴 파일 러 에 게 "나 를 믿 어. 내 가 뭘 하고 있 는 지 알 아." 라 고 말 할 수 있다.유형 단언 은 다른 언어의 유형 변환 과 같 지만 특별한 데이터 검사 와 재 구성 은 하지 않 습 니 다.그것 은 실행 할 때의 영향 이 없고 컴 파일 단계 에서 만 작용 한다.TypeScript 는 프로그래머 가 필요 한 검 사 를 했다 고 가정 합 니 다.
    유형 단언 에는 두 가지 형식 이 있다.하 나 는 '괄호' 문법 이다.
    let someValue: any = "this is a string";
    
    let strLength: number = (someValue).length;
        as  :
    
    let someValue: any = "this is a string";
    
    let strLength: number = (someValue as string).length;
    

    두 가지 형식 은 등가 이다.어떤 것 을 사용 하 는 지 는 대부분 개인의 취향 에 달 려 있다.그러나 TypeScript 에서 JSX 를 사용 할 때 as 문법 만 허용 된다 고 단언 합 니 다.

    좋은 웹페이지 즐겨찾기