اکمااسکریپت ۶ - در تایپاسکریپت، تفاوت بین `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 و غیره.