同じ文字列リテラル型でも違う挙動になる
同じ
文字列リテラル型
の定数のはずなのに、定数を使った時の
推論
結果が変わってしまう話。
このあたりで言及されている:
https://twitter.com/uhyo_/status/1130441940871319557
要はこんな感じ↓
code:ts
const s1 = "foo"
const s2: "foo" = "foo"
let v1 = s1 // type: string
let v2 = s2 // type: "foo"
コンパイラ
内部で外からは見えないフラグか何かを持っているっぽい
闇
っぽい