我得到了以下想法,但我不太确定,如果有可能,这会有效。
IS-CASE:
handleChange({ target: { value } }) {
const intValue = parseInt(value, 10);
// doSomething(intValue);
}
应该-CASE:
handleChange({ target: { value: parseInt(value, 10) } }) {
// doSomething(value);
}
我想要的:我想直接在函数的头部解析value-parameter到Integer。所以我可以在整体中以整数形式访问它。
我知道,我的应该状态不是有效的js语法,但我想知道,如果有可能,我可以实现这一点。
我已经知道,这是有效的:
let {length : len} = 'abc'; // len = 3
所以我正在寻找类似的行为:
let {parseInt : int} = '123'; // int = 3
致以最诚挚的问候,期待提出建议,
迈克尔
答案 0 :(得分:1)
这样的东西会起作用,但是有一个问题。
为简单起见,我仅使用{ 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
。所以我不建议这样做,因为这是漏洞。