TypeScript - איך להשתמש ב-`@ts-ignore` עבור בלוק?


הערת // @ts-ignore מאפשרת למתרגם TypeScript להתעלם מהשורה שמתחתיה.

איך אפשר להתעלם ממקטע קוד שלם ב-TypeScript?

תשובה #1

אתה לא יכול.

כפתרון חלופי, אתה יכול להשתמש בהערת // @ts-nocheck בראש קובץ כדי לבטל את בדיקת הסוגים עבור הקובץ הזה: https://devblogs.microsoft.com/typescript/announcing-typescript-3-7-beta/

לכן כדי להשבית בדיקה של בלוק (פונקציה, מחלקה וכו׳), ניתן להעביר אותו לקובץ נפרד, ואז להשתמש בהערה/דגל שמעליו. (זה כמובן לא גמיש כמו השבתה מבוססת בלוק, אבל זו האפשרות הטובה ביותר הזמינה כרגע.)

תשובה #2

אתה לא יכול. זו סוגיה פתוחה ב-TypeScript.

תשובה #3

יש

// @ts-nocheck

ניתן להוסיף אותו בתחילת הקובץ וכל השגיאות בו יתעלמו, זה לא התשובה הספציפית לבלוק שאתה מחפש אך בכמה תרחישים הוא שקול.

https://devblogs.microsoft.com/typescript/announcing-typescript-3-7/#ts-nocheck-in-typescript-files

תשובה #4

אתה יכול להשתמש ב-//@ts-nocheck בחלק העליון של הקובץ

הפניה: התעלם מכל השגיאות בקובץ TypeScript

אבל זה לא מומלץ

תשובה #5

אתה יכול להשתמש ב-// @ts-expect-error כדי לדכא את השגיאה בשורה אחת, ואתה יכול לעשות את זה עבור מספר שורות, קצת מסורבל אבל זה הדבר הקרוב ביותר שאתה יכול להשיג כרגע

https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-9.html#-ts-expect-error-comments

אבל חכה

אם אתה משתמש ב-// @ts-expect-error על שורה שאין בה שגיאה, זה יגרום לשגיאה Unused '@ts-expect-error' directive.

זה בעצם נהדר, כי זה אומר לך מתי הטיפוס שלך בסדר ומתי לא

אז ודא להשתמש בזה רק על שורה שיש בה שגיאת סוג

תשובה #6

זה מתעלם מהשורה הבאה ורק מהשורה הבאה.

// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore

תשובה #7

בפסגת הקובץ.

// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-nocheck

לא מומלץ, אבל אם אתה חייב לבטל את בדיקת הסוגים עבור כל הקובץ זה עושה את הטריק.