使用对象解构语法设置先前初始化变量的值
Setting the values of previously initialized variables using object destructuring syntax
我的情况是我有许多要设置的变量 - 但是,它们的值取决于另一个变量。所以这就是我的意思
var {
columns,
rows,
tableColumnExtensions,
sorting,
editingRowIds,
addedRows,
rowChanges,
currentPage,
deletingRows,
pageSize,
pageSizes,
columnOrder,
} = this.props.apiurlsTable
if (this.props.tableType==="dependencies") {
var {
columns,
rows,
tableColumnExtensions,
sorting,
editingRowIds,
addedRows,
rowChanges,
currentPage,
deletingRows,
pageSize,
pageSizes,
columnOrder,
} = this.props.dependenciesTable
}
我使用稍后声明的变量,因此始终在条件语句中声明它们并不好,因为它们对函数的剩余范围不可见。上面的代码确实有效,但给出了 'variable is already defined, no-redeclare' 警告。我喜欢使用对象解构语法,并且不想将每个变量分开到它自己的行(如列 = this.props.dependenciesTable.column)我想知道是否有一种方法可以在 JavaScript 中有条件地设置变量?
或者是否有其他可行的方法...
这样做:
var objectToDestructureFrom =
this.props.tableType === "dependencies" ? this.props.dependenciesTable : this.props.apiurlsTable;
var {
columns,
rows,
tableColumnExtensions,
sorting,
editingRowIds,
addedRows,
rowChanges,
currentPage,
deletingRows,
pageSize,
pageSizes,
columnOrder,
} = objectToDestructureFrom
我的情况是我有许多要设置的变量 - 但是,它们的值取决于另一个变量。所以这就是我的意思
var {
columns,
rows,
tableColumnExtensions,
sorting,
editingRowIds,
addedRows,
rowChanges,
currentPage,
deletingRows,
pageSize,
pageSizes,
columnOrder,
} = this.props.apiurlsTable
if (this.props.tableType==="dependencies") {
var {
columns,
rows,
tableColumnExtensions,
sorting,
editingRowIds,
addedRows,
rowChanges,
currentPage,
deletingRows,
pageSize,
pageSizes,
columnOrder,
} = this.props.dependenciesTable
}
我使用稍后声明的变量,因此始终在条件语句中声明它们并不好,因为它们对函数的剩余范围不可见。上面的代码确实有效,但给出了 'variable is already defined, no-redeclare' 警告。我喜欢使用对象解构语法,并且不想将每个变量分开到它自己的行(如列 = this.props.dependenciesTable.column)我想知道是否有一种方法可以在 JavaScript 中有条件地设置变量?
或者是否有其他可行的方法...
这样做:
var objectToDestructureFrom =
this.props.tableType === "dependencies" ? this.props.dependenciesTable : this.props.apiurlsTable;
var {
columns,
rows,
tableColumnExtensions,
sorting,
editingRowIds,
addedRows,
rowChanges,
currentPage,
deletingRows,
pageSize,
pageSizes,
columnOrder,
} = objectToDestructureFrom