函数参数中的Javascript怪异语法

时间:2019-09-08 20:13:57

标签: javascript

我正在学习vue,并且在定义函数时遇到了这种奇怪的语法,我很好奇它的名字以及在哪里可以学到更多

register({commit}, credentials){
}

为什么commit周围有括号?这不应该很简单吗?

register(commit, credentials){
}

commit变量周围放置方括号的目的是什么?

1 个答案:

答案 0 :(得分:1)

这是对象销毁分配。您可以在MDN上阅读以下内容:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

基本上,函数的第一个参数是具有commit属性的对象。通过解构,您可以将该属性拉出对象。这是一个正在使用的解构示例(但不在函数参数中):

const obj = {
  commit: "Hi there"
}

const { commit } = obj;
console.log(commit);
// "Hi there"