【问题标题】:Javascript Invalid left-hand side in assignment expression when renaming [duplicate]重命名时,Javascript在赋值表达式的左侧无效[重复]
【发布时间】:2018-09-23 08:25:41
【问题描述】:

我有一些代码在我重命名类名时出现以下错误。

这没有错误:

this.container = document.createElement("ul"),

但是当我将容器类名重命名为:

this.tt-container = document.createElement("ul"),

我收到以下错误:

语法错误:赋值表达式左侧无效

我该如何解决这个问题?

【问题讨论】:

  • 如果- 对变量名有效,那么您将如何解析表达式x-y - 它是减法还是从单个变量中检索值?如果你说“好吧,没有空格,因此它是一个变量”,那么x - y 呢?现在这不是三个由空格分隔的变量吗?
  • 当我重命名类名时” - 你的代码与类名有什么关系?

标签: javascript


【解决方案1】:

使用_而不是-,所以this.tt_container,而不是this.tt-container

【讨论】:

    【解决方案2】:

    来自MDN

    对象属性名称可以是任何有效的 JavaScript 字符串,也可以是可以转换为字符串的任何内容,包括空字符串。但是,任何不是有效 JavaScript 标识符的属性名称(例如,具有空格或连字符,或以数字开头的属性名称)只能使用方括号表示法访问。

    在您的情况下,- 不是有效的 JavaScript 标识符。要使用-,请使用括号表示法

    this["tt-container"] = document.createElement("ul"),

    【讨论】:

      猜你喜欢
      • 2018-10-08
      • 2016-11-24
      • 1970-01-01
      • 2017-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-16
      • 2013-04-10
      相关资源
      最近更新 更多