我有一个简单的目标:
const simpleObject = {
one: 'one',
two: 'two',
three: 'three'
}
现在,我明白了ES2015之前的对象不能保证返回键的顺序与插入键的顺序相同,但现在这已经不是问题了。
我们使用的是TypeScript,这时出现了as const
实际上是否会保持键顺序的问题:
const simpleObject = {
one: 'one',
two: 'two',
three: 'three'
} as const
目前尚不清楚as const
会产生什么影响。
JavaScript的Map
对象确实维护键顺序,因此可以用来代替上面的对象。
那么,当我们希望保留键序时,可以使用什么,最好使用什么呢?
1条答案
按热度按时间7lrncoxx1#
as const
在运行时没有作用。它指示(typescript)编译器为该特定表达式推断最窄的类型。为了简单起见,您可以在 typescript 练习场中通过查看所传递的代码来了解这一点
如果键的顺序很重要,则use a Map,因为如上所述,
as const
在运行时没有任何影响。对于
It is unclear what effect as const would have
这个问题,答案是,对于开发人员体验,它将为您提供一个更窄的类型,但它在运行时不会有任何影响。