ES6 - 三点运算符 & 字符串
函数与对象的语法糖
函数默认参数
与 Python 的区别 http://effbot.org/zone/default-values.htm
剩余参数
i. Array.prototype.slice.call(arguments,2)
ii. Array.from(arguments).slice(2)
iii. function fn (a,b,…c){}
展开操作
i. [ JterableObj] = [1,3,5,7,9];
ii. [0, 2,…iterableObj, 4, 6, 8];
解构赋值
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上更多的例子
对象属性加强
i. obj = {x, y}
ii. obj = {[“baz” + quux() ]: 42}
iii. 函数属性可以缩写
新的字符串
多行字符串
字符串圼插入变量(插值)
函数接字符串
1 | fn`${name} 是一个 ${person}` |
搜索结果
网络搜索结果
styled-components 就是用的这个语法