TypeScript reflect-metadata找不到名称'Symbol'

时间:2016-03-27 10:38:04

标签: typescript visual-studio-code

我正在阅读此http://www.typescriptlang.org/docs/handbook/decorators.html#class-decorators

但是,错误找不到Symbol,如果这是Symbol的一部分或者它是reflect-metadata reflect-metadata >

import "reflect-metadata"; //change for my path

const formatMetadataKey = Symbol("format");   <-- Cannot find name 'Symbol'.

function format(formatString: string) {
    return Reflect.metadata(formatMetadataKey, formatString);  <-- Work
}

function getFormat(target: any, propertyKey: string) {
    return Reflect.getMetadata(formatMetadataKey, target, propertyKey); <-- Work
}

我必须将其他东西导入Symbol吗?或者这已经改变了,有人知道我做错了。

更新

我认为解决方案是Amid对ES6的评论,在某些情况下,我的TSconfig工作效果不佳,但经过一些修改后,但是作为一个说明。

  • 例如更改或使用es6编译器选项,它显示 - &gt; Cannot find name 'Symbol'
  • 如果您编译错误消失,但如果您对文件进行了更改,添加了更多variable ect或简单的换行符,编辑器会指出前面提到的错误,但是如果您重新编译错误就会消失,所以所有时间,但似乎工作。

1 个答案:

答案 0 :(得分:3)

要获取有关Symbol的更多信息,请阅读以下文档:link

摆脱错误:目标ES6而不是ES5。