为什么在解析TypeScript源文件时需要提供语言版本?

时间:2018-03-16 17:07:15

标签: typescript

我们使用公共API来解析TypeScript文件,如下所示:

ts.createSourceFile(
    file.name,
    file.textContent,
    languageVersion,
    /*setParentNodes*/ true);

我们想知道languageVersion的用途。我不明白为什么解析文件应该关心languageVersion用作目标(es3 / es5 / es2015 / esnext)。

非常感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:2)

不同的ECMAScript版本的语法略有不同。 createSourceFile执行解析,并且需要知道是否由于此而发出某些解析器错误。

您可以阅读https://mathiasbynens.be/notes/javascript-identifiers-es6或其他资源,以了解不同版本的JS如何具有不同的解析规则。