ES6 - 三点运算符 & 字符串

函数与对象的语法糖

  1. 函数默认参数

    ​ 与 Python 的区别 http://effbot.org/zone/default-values.htm

  2. 剩余参数

    i. Array.prototype.slice.call(arguments,2)

    ii. Array.from(arguments).slice(2)

    iii. function fn (a,b,…c){}

  3. 展开操作

    i. [ JterableObj] = [1,3,5,7,9];

    ii. [0, 2,…iterableObj, 4, 6, 8];

  4. 解构赋值

    i. fa, b] = fb, a]

    ii. [a, b,…rest] = [10,20,30,40,50]

    iii. let {name, age} = frank

    iv. [a=5,b=7] = [l];

    v. [a, b] = f()

    vi. [a,, b] = f();

    vii. {p: foo, q: bar} = {}

    viii. let {a = 10, b = 5} = {a: 3};

    ix. let {a:aa = 10, b:bb = 5} = {a: 3};

    x. 对象浅拷贝

    xi. 对象合并

    xii. MDN上更多的例子

  5. 对象属性加强

​ i. obj = {x, y}

​ ii. obj = {[“baz” + quux() ]: 42}

​ iii. 函数属性可以缩写

新的字符串

  1. 多行字符串

  2. 字符串圼插入变量(插值)

  3. 函数接字符串

1
fn`${name} 是一个 ${person}`

搜索结果

网络搜索结果

styled-components 就是用的这个语法

https://github.com/styled-components/styled-components

编辑