我的javascript片段返回“非法字符”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的javascript片段返回“非法字符”相关的知识,希望对你有一定的参考价值。

我正在尝试获得与this book中找到的示例相对应的代码段。这里是我的javascript片段:“use strict”

function readObject(target, name, descriptor) {
    return console.log("reading object...: ", target, name, descriptor)
}


class Example {
  a() {}
  @readObject
  b() {}
}

const e = new Example();
e.a = 1;
e.b = 2;

我的控制台返回:

第12行_ SyntaxError:非法字符

我也尝试过:

function readonly(target, name, descriptor) {
  descriptor.writable = false;
  return descriptor;
}


class Example {
  a() {}
  @readonly
  b() {}
}

const e = new Example();
e.a = 1;
e.b = 2;

后来的审判也失败了。

在我看来,我已经定义了readObject

也许我忘记了另一个元素?

任何提示都会很棒,谢谢。

答案

似乎它是一个转换器探测器,代码在适当的转换器中工作得更好,例如在jsfiddle中:

https://jsfiddle.net/wergsdba/1/

console.log("go on the link to appreciate the code using ES7")
另一答案

我猜真正的错误信息是这样的:“必须将前导装饰器附加到类声明”。

装饰器必须在类声明之前,而不是在内部。

编辑你也可以在类属性上使用装饰器。我猜代码应该是这样的:

class Example {
  @readObject
  a = {};
  constructor(){
    //...
  }
}

以上是关于我的javascript片段返回“非法字符”的主要内容,如果未能解决你的问题,请参考以下文章

Worklight 构建将非法字符插入到 Javascript 文件中

非法字符 - CTRL-CHAR

javascript常用代码片段

如何将此 JavaScript 代码片段翻译成 Parenscript?

更新后的Wordpress“非法字符串偏移”

如何在 PagerAdapter 中返回多个片段(不是 FragmentPagerAdapter)