Open gracekrcx opened 5 years ago
babel 解決的問題:
// 輸出 // export function ... // export const ... export function add (a,b){ return a+b } export const PI = 3.14 // 引入 import {add, PI} from './xxx' // 引入:改名字,可以用 as 取別名 import { add as addFunction } from ... // 引入:全部一起 import 進來 import * as utils from '....' console.log(utils.add(), add.PI)
export default (export 出去的名字是 default) // 輸出 default export default function add (a,b){ return a+b }
// 輸出 default export default function add (a,b){ return a+b }
export const PI = 3.14
// 引入 (底下兩句相同意思) import {default as add} from './xxx' import add from './xxx'
// 引入 PI import add, {PI} from './xxx'
```js export default 'Wonder land'
// export feature declared earlier as default export { myFunction as default }; // export individual features as default export default function () { ... } export default class { .. }
// 陣列 // 陣列看起來只有位置上的對稱 var arr = [1,2,3,4] var [fir, sec, ...rest] = arr console.log(fir) // [1] console.log(sec) // [2] console.log(rest) // [3, 4] rest.map(n => n+10) // [13, 14] // 物件 var obj = { a:1, b:2, c:3 } // 解構 + Rest Parameters // 剩餘的 key(沒有被配對到的 key)都會進入 rest,把剩餘的 key 都集合起來 var {a, ...restObj} = obj console.log(a, restObj) // 1 {b: 2, c: 3} var {b, ...restObj} = obj console.log(b, restObj) // 2 {a: 1, c: 3} var {ccc, ...restObj} = obj console.log(ccc, restObj) // undefined {a: 1, b: 2, c: 3}
// 用在 function 的參數裡,會包成一個陣列 function add(...rest) { console.log(rest) } add(1,2,3,4,5) // [1, 2, 3, 4, 5] add('12345') // ["12345"] // 多個參數 function add(a, ...rest) { console.log(a) console.log(rest) } add(1,2,3,4,5) // 1 [2, 3, 4, 5]
// 用在 function function add (a=10, b=20) { return a+b } add() // 30 // 用在解構 const obj = { c : 1, d : 2 } const { a = 100 , b =200 } = obj console.log(a,b) // 100 200
更多 ES6 新增的語法
These two examples are identical:
const element = ( <h1 className="greeting"> Hello, world! </h1> );
const element = React.createElement( 'h1', {className: 'greeting'}, 'Hello, world!' );
Babel 簡介與基本使用方法
babel 解決的問題:
ES6 中的 Import 與 Export module
export const PI = 3.14
// 引入 (底下兩句相同意思) import {default as add} from './xxx' import add from './xxx'
// 引入 PI import add, {PI} from './xxx'
Default exports:
剩餘的展開:Rest Parameters
加上預設值:Default Parameters
更多 ES6 新增的語法