1. ホーム
  2. タイプスクリプト

[解決済み】TypeScriptのインターフェイスで特定の文字列を要求する方法

2022-04-05 11:49:34

質問

サードパーティーのjsライブラリのTypeScript定義ファイルを作成しています。メソッドのひとつはオプション・オブジェクトを許容し、オプション・オブジェクトのプロパティのひとつはリストからの文字列を許容する。 "collapse" , "expand" , "end-expand" そして "none" .

オプションオブジェクトのインターフェースを持っています。

interface IOptions {
  indent_size?: number;
  indent_char?: string;
  brace_style?: // "collapse" | "expand" | "end-expand" | "none"
}

インターフェイスはこれを強制することができるので、もしあなたが IOptions オブジェクトを brace_style プロパティを使用すると、許容リストに含まれる文字列のみが許可されるのですか?

どのように解決するのですか?

これはバージョン1.8で"string literal types"としてリリースされました。

Typescriptの新機能 - 文字列リテラル型

ページからの例です。

interface AnimationOptions {
  deltaX: number;
  deltaY: number;
  easing: "ease-in" | "ease-out" | "ease-in-out";
}