43.Type Script-文字タイプ


1.従来型


テキストタイプとは、stringまたはnumberのように包括的なタイプではなく、変数またはパラメータに正しい値を設定することを意味します.

2.テキストタイプを縮小


変数をvarまたはletと宣言すると、コンパイラは変数の値が変更される可能性があることを通知します.変数をconstと宣言すると、TypeScriptオブジェクトは絶対に変更されないことを通知します.
// const를 사용하여 변수 helloWorld가
// 절대 변경되지 않음을 보장합니다.

// 따라서, TypeScript는 문자열이 아닌 "Hello World"로 타입을 정합니다.
const helloWorld = "Hello World";

// 반면, let은 변경될 수 있으므로 컴파일러는 문자열이라고 선언할 것입니다.
let hiWorld = "Hi World";
無限数の潜在ケース(文字列値が無限数)を有限数に縮小する潜在ケース(helloworldの場合:1個)を縮小(str狭)と呼ぶ.

3.文字列タイプ(String Literal Type)


実際には、文字列テキストタイプは、汎用タイプ、タイプ保護、およびタイプ別名とよく結合することができる.これらの機能を使用すると、文字列の形式はenumに似ています.
// @errors: 2345
type Easing = "ease-in" | "ease-out" | "ease-in-out";

class UIElement {
  animate(dx: number, dy: number, easing: Easing) {
    if (easing === "ease-in") {
      // ...
    } else if (easing === "ease-out") {
    } else if (easing === "ease-in-out") {
    } else {
      // 하지만 누군가가 타입을 무시하게 된다면
      // 이곳에 도달하게 될 수 있습니다.
    }
  }
}

let button = new UIElement();
button.animate(0, 0, "ease-in");
button.animate(0, 0, "uneasy");
3つの許可された文字列ではなく、別の文字列を使用している場合は、エラーが発生します.

4.数字文字タイプ


TypeScriptには、上の文字列テキストと同じ役割を果たす数値テキストタイプもあります.
function rollDice(): 1 | 2 | 3 | 4 | 5 | 6 {
  return (Math.floor(Math.random() * 6) + 1) as 1 | 2 | 3 | 4 | 5 | 6;
}

const result = rollDice();