動機

當你以為deep copy是正常的builtin時,Javascript總是能給你驚喜

當初我以為

  1. Object其實是hash table,所以拿來放function key很合理(又都是指到同一個function)
  • 用console.log看的到
  1. hash table如果被deep copy應該要對key, values做deep copy
  2. deep copy是基本功能

實際上

  1. 沒有deep copy
  • google後大部分會說用JSON.stringify
  1. 用Object.entries不會出現function key
  • console.log不是有出現嗎!?
  1. function key不會出現在JSON.stringify中!!
  • Object.assign({},obj)之類的,可以處理function key
  1. Object.assign({},obj)不會deepcopy!! (shallow copy)
  • structuredClone但要看版本,夠新才會有,polyfill的可能有毛病
  1. 用套件lodash - cloneDeep