Sea*_*ean 5 javascript parameters function
之间有什么区别
function updateSomething(item) {}
Run Code Online (Sandbox Code Playgroud)
和
function updateSomething({items}) {}
Run Code Online (Sandbox Code Playgroud)
?第一个中的item变量也可以是对象,为什么第二个中使用对象符号?我什么时候应该使用前一个和后一个?
这是从ES2015开始的参数分解。在第二种情况下,您正在将局部变量初始化为items参数的属性值。
function updateSomething({items}) {
Run Code Online (Sandbox Code Playgroud)
大致相当于
function updateSomething(obj) {
var items = obj.items;
Run Code Online (Sandbox Code Playgroud)
从MDN:从作为函数参数传递的对象中提取字段
请注意,这个语法是尚未边缘或Safari(查看可用的兼容地图),所以你可能需要使用像transpiler 巴贝尔。