اکمااسکریپت ۶ - در تایپاسکریپت، تفاوت بین `lib.es6.d.ts` و `lib.es2015.d.ts` چیست؟


به نظر من، ES6 و ES2015 همان چیز هستند. اما در تایپاسکریپت، دو اعلان نوع برای این دو وجود دارد: lib.es6.d.ts و lib.es2015.d.ts. تفاوت آنها چیست؟ کدام یک را باید استفاده کنم؟

پاسخ شماره ۱

ES6 و ES2015 مترادف هستند. انتظار میرود که هر دو target و lib با همان نامها در TypeScript مشابه عمل کنند - و همین طور هم هست.

lib.d.ts و lib.es6.d.ts فایلهای کتابخانهای تجمعی هستند. آنها از سایر کتابخانهها تولید میشوند:

فایلهای موجود در این دایرکتوری برای تولید lib.d.ts و lib.es6.d.ts استفاده میشوند.

آنها شامل کتابخانههای مشخصه مربوطه به علاوه DOM هستند.

تفاوت بین lib.es6.d.ts و lib.es2015.d.ts این است که اولی به طور پیشفرض در زمانی که target روی ES6 تنظیم شده و هیچ lib مشخص نشده است، گنجانده میشود، در حالی که دومی زمانی استفاده میشود که lib روی ES6 تنظیم شده باشد. یعنی --target ES6 همانند --target ES6 --lib ES6,DOM,DOM.Iterable,Scripthost است.

کتابخانه ES2015 دارای ریزگردی بالاست، بنابراین ES6 یا ES2015 میتوانند در صورت لزوم با زیربخشی از امکانات جایگزین شوند: ES2015.Core و غیره.