我确信这是相对简单的,我错过了一些明显的东西.我正在阅读Mozilla关于ES6 的教程,他们关于解构的章节包含以下模式:
功能参数定义
作为开发人员,我们通常可以通过接受具有多个属性作为参数的单个对象来展示更符合人体工程学的API,而不是强迫我们的API使用者记住许多单个参数的顺序.每当我们想要引用它的一个属性时,我们可以使用解构来避免重复这个单个参数对象:
Run Code Online (Sandbox Code Playgroud)function removeBreakpoint({ url, line, column }) { // ... }这是Firefox DevTools JavaScript调试器(也在JavaScript-yo dawg中实现)的简化现实代码片段.我们发现这种模式特别令人愉悦.
我不明白这与解构有何关系.您是否允许将对象传递给此函数的想法,只要它包含所有项目,即可以按任意顺序进行,即{ line: 10, column: 20, url: 'localhost' }?
如果是这样,那么有什么好处呢
function removeBreakpoint(params) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
其中params为与对象url,line和column?是否只是强制Javascript在通过显式定义它们时在析构化上下文中使用时验证函数的参数?