# Java常見的縮寫 (1) ###### tags: `JavaScript` ## 1. ES縮寫 ### 語法糖 VS 新增語法 語法糖:將程式碼變更簡潔,且不影響原本運作。 新增語法:之前沒有這功能,會影響運作。 ``` const obj = { myName: '物件', fn: function() { return this.myName; } } console.log(obj.fn()); #####################語法糖##################### const obj = { myName: '物件', fn() { return this.myName; } } console.log(obj.fn()); ############################################### ###################新增語法##################### 新增語法 (結果:undifind) const obj = { myName: '物件', fn: () => { return this.myName; } } console.log(obj.fn()); ############################################### ``` ### 物件內變數,若要複製名字相同,可不用設定名字。 ``` const person = {name:小明}; const people = {person:person}; //當複製的物件名與要新增的名稱相同,不用額外打名稱。 const people = {person}; //可縮寫成這樣。 ``` ### 展開 兩陣列合併 ``` const A = ['a','b','c']; const B = ['e','f','g']; const conbinAB1 = A.concat(B); //原始寫法 const conbinAB2 = [...A,...B]; //展開寫法 ``` 物件合併 ``` const methods = { fn1(){console.log(1);}, fn2(){console.log(2);} }; const Newmethods = { fn(){console.log(0);}, ...methods //直接用展開方式複製整個物件 }; ``` 轉成純陣列 ``` const doms = document.querySelectorAll('li'); //搜尋li並將它存至陣列中。 console.log(doms); // 請轉為純陣列 const Newdoms = [...doms]; console.log(Newdoms); ``` ### 預設值 ``` function sum(a,b=2){ return a+b; }; console.log(sum(1)); //如果沒給值,b會直接帶2 ```