我发现我对目标和lib选项以及它们如何与源代码中支持的功能进行交互感到困惑.我觉得文档需要改进一点,所以在提出问题之前在这里问.
我天真地假设target指定输出代码运行所需的JS版本(添加了模块加载器).因此,我们总是可以使用TS支持的所有高级JS功能(如对象传播),编译器为我们指定的目标生成合适的代码.我假设它有polyfills等,代码只会在目标VM上运行.
但是,lib选项的文档指定了取决于目标的默认库.但是,libs会影响可用的源类型,从而影响我们可以使用的代码.因此,我们可以使用的源功能取决于目标.这不像我预期的那样.我应该说我对lib的理解是它们是使用不同API的类型,尽管文档并没有真正说明它们是什么.
我可以看到,这里有一些语言功能不依赖于类型和其他类型.然而,目前尚不清楚这是否是造成这种情况的部分原因.
有人可以澄清一下吗?
第二个问题是,为什么ES6和ES2015 lib通常被记录为同一个东西.
谢谢
typescript ×1