當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


TypeScript String轉enum用法及代碼示例


在 TypeScript 中,枚舉是一種主要用於存儲數值和string-type值的常量變量。在本文中,我們將學習如何使用 TypeScript 將字符串轉換為枚舉。

有兩種方法可以用來解決這個問題:

使用自定義映射

在這種方法中,我們將定義一個用字符串值初始化的枚舉,然後映射每個項目以將它們與字符串進行比較並返回匹配的枚舉值以將字符串轉換為枚舉。

例子:下麵的示例將解釋如何使用自定義映射將字符串轉換為枚舉。

Javascript


enum GFG {
    name = "GeeksforGeeks",
    desc = "A Computer Science portal."
}
// Function to convert string into enum
function convertStrToEnum(convertingStr: string):
    GFG | string {
    switch (convertingStr) {
        case "GeeksforGeeks":
            return GFG.name;
        case "A Computer Science portal.":
            return GFG.desc;
        default:
            return `Pass either "${GFG.name}" or "${GFG.desc}"
            as testing string to the function`;
    }
}
console.log(convertStrToEnum("GeeksforGeeks"));
console.log(convertStrToEnum("TypeScript"));
console.log(convertStrToEnum("A Computer Science portal."));

輸出:

GeeksforGeeks
Pass either "GeeksforGeeks" or "A Computer Science portal." as testing string to the function
A Computer Science portal.

一起使用 keyof 和 typeof 運算符

key 類型在 TypeScript 中,運算符可以一起用於將字符串轉換為枚舉。

用法:

const variable_name: keyof typeof enum_name = value;

例子:下麵的示例將解釋如何使用 keyof 和 typeof 運算符將字符串轉換為枚舉。

Javascript


enum GFG {
    name = 25,
    desc = 56
}
// Converting string to enum
const myStr: keyof typeof GFG = 'name';
const myStr1: keyof typeof GFG = 'desc';
// It prints 25, as the string is now converted
// to the value of first constant of enum
console.log(GFG[myStr]);
// It prints 56, as the string is now converted
// to the value of second constant of enum
console.log(GFG[myStr1]);

輸出:

25
56

使用類型斷言

在此方法中,我們將在轉換時使用未知類型斷言將字符串轉換為枚舉。

用法:

const variable_name1: string = value_as_enum_key_as_string;
const variable_name2 = variable_name1 as unknown as enum_name;

例子:下麵的代碼示例說明了使用 TypeScript 將字符串轉換為枚舉的類型斷言方法。

Javascript


enum GFG {
    num1 = 28,
    num2 = 56,
    num3 = 84
}
// Assigning enum values to 
// string type variables
const str1: string = 'num1';
const str2: string = 'num2';
const str3: string = 'num3';
// Converting String into enum
const str1ToEnum = str1 as unknown as GFG;
const str2ToEnum = str2 as unknown as GFG;
const str3ToEnum = str3 as unknown as GFG;
console.log(GFG[str1ToEnum]);
console.log(GFG[str2ToEnum]);
console.log(GFG[str3ToEnum]);

輸出:

28
56
84


相關用法


注:本文由純淨天空篩選整理自abhish8rzd大神的英文原創作品 How to Convert a String to enum in TypeScript?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。