Created
November 27, 2019 15:51
-
-
Save rcarton/6a3c4005787b71e8ba3f93bea9aa5b06 to your computer and use it in GitHub Desktop.
Enums
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
enum E1 { | |
K1 = "v1", | |
K2 = "v2", | |
K3 = "v3" | |
} | |
enum E2 { | |
K1 = "v1", | |
K2 = "v2", | |
K4 = "v4" | |
} | |
type E3 = "v1" | "v2" | "v3"; | |
type E4 = "v1" | "v2"; | |
const enum E5 { | |
K1 = "v1", | |
K2 = "v2", | |
K3 = "v3" | |
} | |
// For each: Is it valid? If yes, what's the value? | |
// A | |
const var1: E1 = E2.K1; | |
// B | |
const var2: E3 = E1.K1; | |
// C | |
const var3: E1 = "v1"; | |
// D | |
const var4: E1 = E1["K1"]; | |
// E | |
const var5: E5 = E5["K1"]; | |
// F | |
const var6: E5 = E5["boop"]; | |
// G | |
const var7: E1 = E1["boop"]; | |
// H | |
function convertE3FromE1(var1: E1): E3 { | |
const var2: E3 = var1; | |
return var2; | |
} | |
// I | |
function convertE4FromE1(var1: E1): E4 { | |
const var2: E4 = var1; | |
return var2; | |
} | |
// J | |
function convertE1FromE3(var1: E3): E1 { | |
const var2: E1 = var1; | |
return var2; | |
} | |
// K | |
function convertE1FromString(var1: string): E1 { | |
const var2: E1 = E1[var1]; | |
return var2; | |
} | |
// L | |
function convertE5FromString(var1: string): E5 { | |
const var2: E5 = E5[var1]; | |
return var2; | |
} | |
function convertE1FromSomething(var1: keyof typeof E1): E1 { | |
const var2: E1 = E1[var1]; | |
return var2; | |
} | |
// M | |
const var8: E1 = convertE1FromSomething("K1"); | |
// N | |
const var9: E1 = convertE1FromSomething(E2.K1); | |
// O | |
const var10: E1 = convertE1FromSomething(E2[E2.K1]); | |
// P | |
const var11: E1 = convertE1FromSomething(E5[E5.K1]); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment