Javascript Decorator不会将属性添加到它正在装饰的类中。我怎么修理它?

Javascript Decorator不会将属性添加到它正在装饰的类中。我怎么修理它?,javascript,decorator,Javascript,Decorator,我正在试图理解装饰程序是如何在javascript中工作的。我读了很多关于它的文章,但没有一篇能很好地解释这个概念 我已经从我读过的一篇文章中尝试了decorator的基本示例。这是密码笔。 我定义了一个名为superhero的装饰函数。我正在用它装饰我的班级“我的超级英雄”。据我所知,装饰者应该向类添加属性权限。但当我执行console.log时,它显示未定义 function superhero(target) { target.isSuperhero = true target.p

我正在试图理解装饰程序是如何在javascript中工作的。我读了很多关于它的文章,但没有一篇能很好地解释这个概念

我已经从我读过的一篇文章中尝试了decorator的基本示例。这是密码笔。 我定义了一个名为superhero的装饰函数。我正在用它装饰我的班级“我的超级英雄”。据我所知,装饰者应该向类添加属性权限。但当我执行console.log时,它显示未定义

function superhero(target) {
  target.isSuperhero = true
  target.power = 'flight'
}

@superhero
class MySuperHero {

}

console.log(MySuperHero.power) // It should show "flight" but its showing undefined in console 


您应该使用
babel——可选的es7.decorators
(babel CLI)来启用decorators。 由于这仍然是一个建议,更多的信息可以找到


希望这有帮助

Javascript本机不支持
@
装饰器,您必须使用
babel
请遵循链接中提到的安装步骤:

FYI codepen编辑器不支持使用装饰器