假设我想确保myKey在{ myKey: '' }只包含字符串foo,bar,baz,我可以通过两种方式实现这一目标.
// with a String Literal Type
type MyKeyType = 'foo' | 'bar' | 'baz';
// or with a String Enum
enum MyKeyType {
FOO = 'foo',
BAR = 'bar',
BAZ = 'baz'
}
Run Code Online (Sandbox Code Playgroud)
我想知道其中一个的利弊在哪里,因为两个看起来都是一样的(从我访问例如条件检查的值的方式来看).
我在TS文档中发现的唯一区别是Enums是运行时的真实对象,在某些情况下可能是可取的.
typescript ×1