typescript - 打字稿:以符号为键解构对象
问题描述
为什么此代码会产生错误Type 'symbol' cannot be used to index type '{ [x: string]: string; }'.
:
let symbol = Symbol()
let obj = { [symbol] : 'value'}
let { [symbol]: alias } = obj
// ^^^^^ the error is here
console.log(alias)
最重要的是,我该如何解决这个问题?
解决方案
您只需要声明symbol
asconst
以使编译器为其推断文字类型而不是通用Symbol
类型。
const symbol = Symbol()
let obj = { [symbol] : 'value'}
let { [symbol]: alias } = obj
console.log(alias)
当 typescript 推断出一个独特的符号时,这个PR可能很有用
推荐阅读
- r - 计数频率
- amazon-web-services - DPDK 分销商问题 - 不给工人数据包
- python - 在安装的 pygame 目录中哪里可以找到 pygame.init() 方法?
- sql - 如何在 BigQuery 中获取多个 event_params 作为列
- vba - vba用2个参数执行exe命令行
- python - 使用 Python 将数据帧保存到 Redshift 时出错
- r - 无法在 Ubuntu 18.04 LTS 上安装 rstanarm
- android - 当有人单击 Firebase 动态链接时,如何在选择器应用程序中显示我的应用程序?
- php - PHP/SQL:如何将列值连接/组合成一行
- sql - 使用视图更新原始表的值