1. ホーム
  2. ジャバスクリプト

[解決済み】Typescript Type 'string' はタイプに割り当てられない。

2022-03-28 15:27:06

質問

fruit.tsの中身はこんな感じです。

export type Fruit = "Orange" | "Apple" | "Banana"

今度は、別のtypescriptファイルでfruit.tsをインポートしています。以下は、私が持っているものです。

myString:string = "Banana";

myFruit:Fruit = myString;

するとき

myFruit = myString;

エラーが発生する

タイプ 'string' はタイプ '"Orange" | "Apple" |' に割り当てることができません。 "バナナ"'です。

カスタムタイプFruitの変数に文字列を代入するにはどうすればよいですか?

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

以下の作業が必要です。 キャストする :

export type Fruit = "Orange" | "Apple" | "Banana";
let myString: string = "Banana";

let myFruit: Fruit = myString as Fruit;

また 文字列リテラル を1つだけ使用する必要があります。 |

編集

他の @Simon_Weaver さんの回答にもあるように、アサートして const :

let fruit = "Banana" as const;