# JavaScripte 箭頭函式共筆 --- ## 基本語法 - (參數1, 參數2, …, 參數N) => { 陳述式; } - (參數1, 參數2, …, 參數N) => 表示式; - // 等相同(參數1, 參數2, …, 參數N) => { return 表示式; } - // 只有一個參數時,括號才能不加: - (單一參數) => { 陳述式; } - 單一參數 => { 陳述式; } - //若無參數,就一定要加括號: - () => { statements } --- ## 進階語法 - // 用大括號將內容括起來,返回一個物件字面值表示法: - params => ({foo: bar}) - // 支援其餘參數與預設參數 - (param1, param2, ...rest) => { statements } - (param1 = defaultValue1, param2, …, paramN = defaultValueN) => { - statements } - // 也支援 parameter list 的解構賦值 - var f = ([a, b] = [1, 2], {x: c} = {x: a + b}) => a + b + c; f(); // 6 --- ## 一般函式 ``` get('/', fuction(){ console.log... }) ``` --- ## 箭頭函式 沒參數寫法 ``` get('/', () => { console.log... }) ``` --- 有參數寫法 ``` get('/', (event) => { console.log... }) ``` 箭頭函式之空函式寫法.. ``` get('/', event => { console.log... }) ``` --- ![](https://i.imgur.com/1bskSAm.png) ![](https://i.imgur.com/RcPiqoX.png) ![](https://i.imgur.com/uNftKpD.png) `const foo = x => x+1` (含有return的功能了) `const foo = x => { x+1 }`(有作用但沒有return功能去接值,印出還是undinfed,要手動加上return) --- ![](https://i.imgur.com/w1xdXyC.png)