VSCodeのマウスホバーで表示される推論結果の話です。 JavaScriptでもreadonly扱いにしてObjectを定数として認識させる方法です。
単純な書き方だと全部プリミティブ型に推論されてしまう
const CONSTANTS = { AAA: 1, BBB: 2, CCC: 3 }
Object.freeze()したものにラベルを貼ると、具体的にどんな値なのかわかる
const CONSTANTS = Object.freeze({ AAA: 1, BBB: 2, CCC: 3 });