簡體   English   中英

es2018 vs es2018.promise vs es2018.regexp

[英]es2018 vs es2018.promise vs es2018.regexp

對於--lib cmd行arg,TypeScript編譯器具有以下選項

  • ES2018
  • ES2018.Promise
  • ES2018.RegExp

它們之間有什么區別? 如果我僅需要Promisefinally()支持並且不關心其他ES2018功能,應該使用ES2018還是ES2018.Promise

另外,既然這些ES2018庫支持哪個TS版本? 當我嘗試在TS 2.6.2中使用它們時,它拋出:

錯誤:tsconfig.json(16,13):錯誤TS6046:“-lib”選項的參數必須為:“ es5”,“ es6”,“ es2015”,“ es7”,“ es2016”,“ es2017”,“ esnext”,“ dom”,“ dom.iterable”,“ webworker”,“ scripthost”,“ es2015.core”,“ es2015.collection”,“ es2015.generator”,“ es2015.iterable”,“ es2015.promise” ,'es2015.proxy','es2015.reflect','es2015.symbol','es2015.symbol.wellknown','es2016.array.include','es2017.object','es2017.sharedmemory','es2017。字符串”,“ es2017.intl”,“ esnext.asynciterable”。

lib選項僅提供這些庫的類型。 如果您指定ES2018 ,則即使您定位到ES2015,也將得到ES2018輸入。 默認情況下,TypeScript根據您指定的目標設置一些庫,但是自2.0版以來,它允許您手動添加更多類型。

它們之間有什么區別?

它們是不同功能族的子集。

如果我僅需要Promisefinally()支持並且不關心其他ES2018功能,應該使用ES2018還是ES2018.Promise?

是的,您可以滿足自己的需求。 但是,如果包含更多的JavaScript,則不會增加生成的JavaScript。

從哪些TS版本開始支持這些ES2018庫?

如果您使用的是本機不支持功能的目標,則可以將軟件包下載(npm)到Polyfill。 它與TS版本沒有直接關系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM