# JS 常見縮寫 整理一下一些Javascript常用的縮寫們~ ### 什麼是語法糖? 語法糖是由英國電腦科學家彼得·蘭丁發明的一個術語,意指這種語法對語言的功能沒有影響,但是更方便程式設計師使用。 ### **物件中的函式** ```javascript= const obj = { myName: "Ashley", fn(): function(){ return this.myName } } console.log(obj.fn()) //Ashley ``` ES6物件下的函式縮寫形式:去除: function() ```javascript= const obj = { myName: "Ashley", fn(){ return this.myName } } console.log(obj.fn()) //Ashley ``` ### **物件中的變數** ```javascript= const person = { name:"小美人魚" } const people = { person: person } console.log(people) //小美人魚 ``` ```javascript= const person = { name:"小美人魚" } //屬性與值的名字相同,可省略屬性 const people = { person } console.log(people) //小美人魚 ``` ### **展開** 不同陣列合併 ```javascript= const groupA = ["小美人魚", "艾瑞克"]; const groupB = ["小比目魚"]; const groupAll = groupA.concat(groupB) //["小美人魚", "艾瑞克", "小比目魚"] ``` 不同陣列展開 ```javascript= const groupA = ["小美人魚", "艾瑞克"]; const groupB = ["小比目魚"]; const groupAll = [...groupA, ...groupB] //["小美人魚", "艾瑞克", "小比目魚"] ``` 物件的展開 ```javascript= const obj = { fn(){ console.log("我是fn()") }, fn1(){ console.log("我是fn1()") } } //將obj內的方法加入到newObj const newObj = { fn2(){ console.log("我是fn2()") }, ...obj } ``` 轉成純陣列 用querySelectorAll取出的陣列不是純陣列,方法不齊全 ```javascript= const doms = document.querySelectorAll("li") console.log(doms) //Nodelist 類陣列 ... ``` ```javascript= const doms = document.querySelectorAll("li") const NewDoms = [...doms] console.log(NewDoms) ``` ### **預設值** 加入預設值避免出錯 ```javascript= function fn(a, b){ if(!b) = { b = 2 } //若b不存在,預設為2(沒有這行,console.log()會出現NaN) return a + b; } console.log(fn(1)) // 3 ``` ```javascript= function fn(a, b = 3){//若b不存在,預設為2(沒有這行,console.log()會出現NaN) return a + b; } console.log(fn(1)) // 4 ```