一尘不染

'Static readonly' vs. 'const'

javascript

我已经阅读了有关conststatic readonly领域的信息。我们有一些只包含常量值的类。它们用于我们系统中的各种事物。所以我想知道我的观察是否正确:

这些常量值是否应该始终static readonly适用于所有公开的东西?并且仅const用于内部/受保护/私有值?

你有什么建议吗?我是否应该甚至不使用static readonly字段,而是使用属性?


阅读 137

收藏
2022-02-23

共1个答案

一尘不染

public static readonly字段有点不寻常;public static属性(只有 a get)会更常见(可能由private static readonly字段支持)。

const值直接烧入调用站点;这是双刃剑:

  • 如果值是在运行时获取的,可能是从配置中获取的,它是没用的
  • 如果更改 const 的值,则需要重建所有客户端
  • 但它可以更快,因为它避免了方法调用......
  • …无论如何有时可能已被 JIT 内联

如果值永远不会改变,那么 const 就可以了 -Zero等等使合理的 consts ;p 除此之外,static属性更常见。

2022-02-23