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
לא מומלץ, אבל אם אתה חייב לבטל את בדיקת הסוגים עבור כל הקובץ זה עושה את הטריק.
