在 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
相關用法
- TypeScript String轉Boolean用法及代碼示例
- TypeScript String轉JSON用法及代碼示例
- TypeScript String轉Date用法及代碼示例
- TypeScript String charAt()用法及代碼示例
- TypeScript String charCodeAt()用法及代碼示例
- TypeScript String concat()用法及代碼示例
- TypeScript String indexOf()用法及代碼示例
- TypeScript String lastIndexOf()用法及代碼示例
- TypeScript String localeCompare()用法及代碼示例
- TypeScript String replace()用法及代碼示例
- TypeScript String search()用法及代碼示例
- TypeScript String slice()用法及代碼示例
- TypeScript String split()用法及代碼示例
- TypeScript String substr()用法及代碼示例
- TypeScript String substring()用法及代碼示例
- TypeScript String includes()用法及代碼示例
- TypeScript String codePointAt()用法及代碼示例
- TypeScript String repeat()用法及代碼示例
- TypeScript String endsWith()用法及代碼示例
- TypeScript String trim()用法及代碼示例
- TypeScript String padStart()用法及代碼示例
- TypeScript String normalize()用法及代碼示例
- TypeScript String match()用法及代碼示例
- TypeScript String matchAll()用法及代碼示例
- TypeScript String padEnd()用法及代碼示例
注:本文由純淨天空篩選整理自abhish8rzd大神的英文原創作品 How to Convert a String to enum in TypeScript?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。