最近遇到了这两个符号。虽然两者似乎都在做类似的事情,但其中一个使用赋值运算符,而另一个似乎是一个对象。他们做了什么不同的事吗?
const { value = "" } = this.props;

和
let { value: newValue } = newProps;

答案 0 :(得分:4)
这两个都在破坏一个对象。当您使用[Explanation] Like "*No Alternative*" Or [Explanation] Like "*1*"
时,如果值未定义/ null,则设置默认值。使用=
,您可以对变量进行别名处理。你甚至可以将它们结合起来:
:
答案 1 :(得分:3)
实际上它与React库无关。它们是ES6 destructuring assignments.
第一个示例将创建一个名为SELECT users.name, sum(revenues.value) as suma FROM `users`
JOIN revenues
ON users.id = revenues.user_id
WHERE users.country = "de"
ORDER BY suma DESC
LIMIT 1
的常量变量,并将分配value
(对象,数组,数字)。如果this.props.value
未定义,但它将使用默认值this.props.value
- 空字符串。
= ""
在第二个示例中,将创建const { value = "" } = this.props;
变量,它将等于newValue
(即使它未定义)。
newProps.value