http://gothoxeo4g2yqa3ba27z3sigeprlwan3deogkejooe7zqccou6qgkvad.onion/AllJointTW/clean-code-javascript
這能確保其他的函數的購物車清單沒有任何機會被被參考所影響。 使用這方法前,有兩個警告要告知: 當採用這種做法後,你會發現,需要修改輸入物件的情況非常少。大多數的程式碼可以在沒有副作用的情況下重構! 複製大型物件,需要花費高昂的效能。幸好,我們有好的 函數庫 ,可以提升複製物件與陣列的速度與減少記憶體使用。 糟糕的: const addItemToCart = ( cart , item ) => { cart . push ( { item , date : Date . now ( ) } ) ; } ; 適當的: const addItemToCart = ( cart , item ) => { return [ ... cart , { item , date : Date . now ( ) } ] ; } ; 譯者附註 譯者這邊另外再提供一個案例,函數 checkIs18Age 用來檢查是否成年。