You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JS/TS解构赋值给实例属性报错原因及正确写法

报错原因与解决方案

报错原因

你的写法违反了JS/TS解构赋值的基础语法规则,核心问题有三点:

  • 语义冲突:const关键字用于声明新变量,但你需要的是给已存在的this.entry.title属性赋值,不需要声明新变量,加const属于完全错误的用法。
  • 命名规则不合法:const {title: this.entry.title}的写法相当于尝试声明一个名为this.entry.title的常量,而JS变量名不允许包含.、this关键字这类内容,直接触发语法报错。
  • 块解析歧义:如果不加const直接写{title: this.entry.title} = {title: "Menu"},JS会把开头的{识别为代码块的起始标记,而非对象解构模式,同样会报错。

正确实现方式

去掉const声明,用圆括号包裹整个解构赋值表达式即可,代码如下:

// 正确写法
({title: this.entry.title} = {title: "Menu"});

// 验证:输出 Menu
console.log(this.entry.title);

如果需要同时解构多个属性赋值,可以扩展写法:

({
  title: this.entry.title,
  id: this.entry.id,
  desc: this.entry.desc
} = {title: "Menu", id: 101, desc: "首页菜单"});

内容的提问来源于stack exchange,提问作者st_clair_clarke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 08:36:03