我有以下想法,但我不太确定,如果有任何可能性,这是否可行。
是案例:
handleChange({ target: { value } }) {
const intValue = parseInt(value, 10);
// doSomething(intValue);
}
应该案例:
handleChange({ target: { value: parseInt(value, 10) } }) {
// doSomething(value);
}
我想要的:我想直接在函数的头部将值参数解析为整数。所以我可以在正文中以整数形式访问它。
我知道,我的 should-state 不是有效的 js 语法,但我想知道,如果有任何可能,我可以实现它。
我已经知道,这是有效的:
let {length : len} = 'abc'; // len = 3
所以我正在寻找类似的行为:
let {parseInt : int} = '123'; // int = 3
此致,期待您的建议,
迈克尔
最佳答案
类似这样的方法可以工作,但有一个问题。
为简单起见,我只使用了 { value }
而不是 { target: { value } }
function handleChange({
value = 10, // declare this first so you can use the variable later
intValue = parseInt(value, 10) // intValue shouldn't be passed as argument
} = {}) {
console.log(intValue);
}
handleChange({ value: "100" });
但当 intValue
时它会给出预期之外的结果是函数 param[0] 中的一个属性。
handleChange({ value: "100", intValue: 10 });
将记录 100
当您实际期望它记录 10
时.所以我不建议这样做,因为这很容易漏水。
关于javascript - 参数上的ES6解构exec函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43471461/