重命名时,Javascript在赋值表达式的左侧无效[重复]
Posted
技术标签:
【中文标题】重命名时,Javascript在赋值表达式的左侧无效[重复]【英文标题】:Javascript Invalid left-hand side in assignment expression when renaming [duplicate] 【发布时间】:2018-09-23 08:25:41 【问题描述】:我有一些代码在我重命名类名时出现以下错误。
这没有错误:
this.container = document.createElement("ul"),
但是当我将容器类名重命名为:
this.tt-container = document.createElement("ul"),
我收到以下错误:
语法错误:赋值表达式左侧无效
我该如何解决这个问题?
【问题讨论】:
如果-
对变量名有效,那么您将如何解析表达式x-y
- 它是减法还是从单个变量中检索值?如果你说“好吧,没有空格,因此它是一个变量”,那么x - y
呢?现在这不是三个由空格分隔的变量吗?
“当我重命名类名时” - 你的代码与类名有什么关系?
【参考方案1】:
使用_而不是-,所以this.tt_container
,而不是this.tt-container
【讨论】:
【参考方案2】:来自MDN,
对象属性名称可以是任何有效的 JavaScript 字符串,也可以是可以转换为字符串的任何内容,包括空字符串。但是,任何不是有效 JavaScript 标识符的属性名称(例如,具有空格或连字符,或以数字开头的属性名称)只能使用方括号表示法访问。
在您的情况下,-
不是有效的 javascript 标识符。要使用-
,请使用括号表示法
this["tt-container"] = document.createElement("ul"),
【讨论】:
以上是关于重命名时,Javascript在赋值表达式的左侧无效[重复]的主要内容,如果未能解决你的问题,请参考以下文章