Closed4
TypeScriptのバグらしきもの(スプレッド構文による配列のオブジェクトへの展開を行ったときの挙動)
概要
const x = ["a", "b", "c"]
console.log(x)
const y = {...x}
// ^? xが持つオプション(length等)が全て展開されている
console.log(y.length)
// y.lengthはnumberと推論されているが,実際に出力されるのはundefined
スプレッド構文に関する説明はここ
やはり,数字のみが展開されそうで,arrayオブジェクトのプロパティまでは出力されなさそうである.typescript@next
(Version 5.0.0-dev.20221231
)時点で修正された形跡はなく,FAQとかに関連した記述も見当たらず,類似したissueも見つからなかったので、issueを立ててみた
反応を得られた.既存の問題の延長ではあるようで,assign周辺の型解決の話の様子.
冷え切ってるが議論中ではある様子で……
うーん,typescriptクソポイントの一つみたいですね.
これ以上自分にできることは無さそうです.
このスクラップは2023/01/01にクローズされました