javascript - Javascript 解构询问
问题描述
我有以下 javascript 代码:
const {
tr,
selection: { $from }
} = state;
我知道上面是一个解构结构,但我不确定这: { $from }
部分,因为对象中没有$from
属性selection
(见截图)......
tr
两者都没有state
...
有人可以解释一下吗?
编辑:实际上,确实有一个$from
属性(见截图),但它是嵌套的。有人可以解释解构如何获取嵌套属性吗?
解决方案
解构允许您将对象字段解压缩为新变量。
例如,如果您的state
对象如下所示:
state = {
selection: {
ranges = [1,2,3],
$head = "abc"
},
storedMarks = 99
}
const { selection, storedMarks } = state // destructuring
console.log(selection) // > { ranges:.., $head... }
console.log(storedMarks) // > 99
新变量selection
并storedMarks
已创建。
如果您尝试检索tr
并$from
const {
tr,
selection: {
ranges: [
$from: myFromValue
]
}
} = state;
console.log(tr); // will print your tr value that is in `state` object, if it exists
console.log(myFromValue); // will print your $From value
推荐阅读
- python - 如果使用 Tensorflow 的 ObjectDetection API,需要 NormalizeImage?
- apache-spark - 来自 Apache Kafka 的 Spark Streaming
- c# - 将 EF 属性分配给变量时出现“对象引用未设置为对象的实例”异常
- javascript - 如何重新启动 Jquery 事件,避免每个事件重复?
- c# - Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机上注册并且 Visual Studio 中无法识别的数据库格式 accdb
- sqlalchemy - 在运行时为 SQLAlchemy 的 EncryptedType 指定一个密钥
- swift - 从未使用过不可变值“rate”的初始化
- typescript - 使用 Jest 模拟对象数组
- javascript - 以 HTML 格式显示 API 响应数据
- diagram - 从代码创建可视化的类似划痕的图表